Invece di legare il vostro "click" gestore che modo, fare questo:
$('a').bind("click.myDisable", function() { return false; });
Poi, quando si desidera rimuovere tale gestore è facile:
$('a').unbind("click.myDisable");
In questo modo si evita rovinare altre cose che potrebbero essere legate al "clic". Se ti limiti a "cliccare", non ti leghi a tutto ciò che è legato a quell'evento.
modifica nel 2014 — il modo in cui si associa gli eventi ora è con .on()
:
$('a').on('click.myDisable', function() { return false; });
Probabilmente sarebbe meglio per fare questo:
$('a').on('click.myDisable', function(e) { e.preventDefault(); });
Per separare:
$('a').off('click.myDisable');
Infine, voi co ULD associare un gestore per il corpo del documento e trattare con <a>
tag che vengono aggiunti in modo dinamico:
$('body').on('click.myDisable', 'a', function(e) { e.preventDefault(); });
// to unbind
$('body').off('click.myDisable');
Tutte le risposte corrette, ma ho dovuto dare a punta per la segnalazione punta fuori - senza giochi di parole! – Abs
Questo avverrà frequentemente? A quanto ho capito, il binding/unbinding richiede un po 'di overhead. A seconda della pagina, potrebbe non essere il modo migliore per andare. – user113716
http://www.bennadel.com/blog/1771-Enable-And-Disable-jQuery-Event-Handlers-Rather-Than-Bind-And-Unbind-.htm – user113716