2010-08-04 8 views
6

Uso il tag <a> per creare pulsanti. Io uso JavaScript (jQuery) per implementare il comportamento.Utilizzo del tag <a> come un pulsante senza seguire il suo collegamento

Come è possibile impedire al browser di seguire un collegamento continuando a eseguire tutti gli eventi click()?

questo:

$("a.button").live("click", function(event) { return false; }); 

non funziona, perché, a seconda della posizione del gestore che potrebbe impedire ad altri .click() gestori di eseguire. Per alcuni pulsanti funziona come lo voglio io, ma per alcuni impedisce l'esecuzione degli altri miei gestori.

So che potrei usare un solo click gestore per pulsante, ma preferirei farlo in modalità AOP.

risposta

6

jQuery fornisce un metodo chiamato preventDefault che interromperà l'azione predefinita dell'evento. Con questo il codice seguente fermerà il collegamento da seguire ma non dovrebbe fermare la propagazione del pari ad altri gestori.

$("a.button").click(function(event){ event.preventDefault(); }); 
+0

Questo è quello. Mi hai battuto sul tempo :) –

Problemi correlati