Ich habe zwei Funktionen, die zu zwei verschiedenen Zeiten an ein Klickereignis gebunden sind (mit jQuery). Die Reihenfolge, in der sie abgefeuert werden, ist signifikant. Sie schießen in der richtigen Reihenfolge. Das Problem ist, wenn die erste Funktion falsch zurückgibt, wird die zweite Funktion immer noch ausgelöst!
Wie kann ich die Veranstaltung ordnungsgemäß stornieren?
Beachten Sie, dass Sie jQuery Version 1.3 und höher verwenden müssen, damit dies funktioniert.
– Josh Stodola
17. März 2009 um 0:08 Uhr
was ist mit $(document).on(“touchstart click”, “.myelement”, function(e) {e.stopImmediatePropagtion(); //run function here})…If the touchstart fires first on the tablet device will Wird der Klick abgebrochen, wenn ich meinen Finger gedrückt halte?
– Alex
28. Juni 2012 um 18:52 Uhr
Das erste, was ich frage, ist: Warum haben Sie zwei Funktionen, die an dasselbe Klickereignis gebunden sind? Wenn Sie Zugriff auf den Code haben, warum machen Sie nicht einfach diesen einen einzigen Anruf?
$(function (){
var callbackOne = function(e){
alert("I'm the first callback... Warning, I might return false!");
return false;
};
var callbackTwo = function(e){
alert("I'm the second callback");
};
$(document).click(function (e){
if(callbackOne(e)){
callbackTwo(e);
}
});
});
Organisation. Diese App enthält eine Menge Javascript-Code, der in MEHRERE Dateien aufgeteilt ist. Auf diese Weise lädt jede Seite nur das Notwendige herunter, was zu schnellen Ladezeiten führt. Ich habe einen HTTP-Handler, der sie auch kombiniert, komprimiert und zwischenspeichert, sodass sie alle in einer Anfrage abgerufen werden.
– Josh Stodola
16. März 2009 um 23:32 Uhr
OK. Gibt es also wirklich die Notwendigkeit für -1? Ich versuche nur zu helfen … Ihre Erklärung reicht aus, um uns alle wissen zu lassen, dass dies nicht die Lösung ist für dich.
– Seb
16. März 2009 um 23:34 Uhr
Dann bitte ich um Entschuldigung! 🙂 Ich weiß nicht, wer seinen Ruf verschwenden möchte, indem er eine mögliche gültige Antwort für andere Leute herunterstimmt …
– Seb
16. März 2009 um 23:37 Uhr
+1. Ich habe viele Fragen beantwortet, indem ich gefragt habe: “Warum machst du es so und nicht so?” Manchmal ist sich der Fragesteller nicht bewusst oder hat vergessen, andere Optionen in Betracht zu ziehen.
– Spencer Ruport
17. März 2009 um 0:24 Uhr
Rodrigo Jara
Danke, Unbind funktioniert zum Neudefinieren von Funktionen.
naja, meine idee funktioniert es ist nur so, dass es gleichzeitig bricht. +1 für diese Idee.
– Nickf
16. März 2009 um 23:20 Uhr
Diese Methode bricht genauso ab wie die andere, außer mit mehr Code. Korrigiere mich, wenn ich falsch liege.
– Josh Stodola
16. März 2009 um 23:22 Uhr
Spencer Miles
Eine andere Lösung besteht darin, die Funktion zu entprellen oder zu drosseln.
Auf diese Weise können Sie sicherstellen, dass es trotz mehrmaligem Auslösen nur innerhalb einer festgelegten Dauer ausgeführt wird. Dadurch würde Ihr Code so funktionieren, wie er ist.
naja, meine idee funktioniert es ist nur so, dass es gleichzeitig bricht. +1 für diese Idee.
– Nickf
16. März 2009 um 23:20 Uhr
Diese Methode bricht genauso ab wie die andere, außer mit mehr Code. Korrigiere mich, wenn ich falsch liege.
– Josh Stodola
16. März 2009 um 23:22 Uhr
12708500cookie-checkjQuery Multiple Event Handler – Wie kündige ich?yes