2010-08-04 5 views
6

Ich verwende das <a>-Tag, um Schaltflächen zu erstellen. Ich verwende JavaScript (jQuery), um das Verhalten zu implementieren. Wie kann ich verhindern, dass der Browser einem Link folgt, während weiterhin alle click() Ereignisse ausgeführt werden? DieseVerwenden Sie das <a>-Tag als eine Schaltfläche, ohne seinem Link zu folgen

:

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

nicht funktioniert, weil in Abhängigkeit von der Position dieses Handler könnte es andere .click() Handler verhindern, dass die Ausführung. Für einige Buttons funktioniert es wie ich es will, aber für einige verhindert es die Ausführung meiner anderen Handler.

Ich weiß, ich könnte einen einzigen Klick-Handler pro Taste verwenden, aber ich würde es lieber die AOP-Weise tun.

Antwort

6

jQuery stellt eine Methode namens preventDefault bereit, die die Standardaktion des Ereignisses verhindert. Damit wird der folgende Code die Verbindung stoppen, sollte aber nicht die Weiterleitung der Even an andere Handler stoppen.

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

Das ist der eine. Du warst schneller als ich :) –

Verwandte Themen