Ich habe ein Element in einer Webseite, die auf es mehrere Rückrufe hatWie entferne ich einen bestimmten Ereignisrückruf von einem HTML-Element mit jquery?
// First callback
$("#element").click(fn1);
// Second callback
$("#element").click(fn2);
// Definitions
function fn1(){console.log("1");}
function fn2(){console.log("2");}
Gibt es eine Möglichkeit nur fn2 aus der Liste der Rückrufe von jQuery ausgelöst zu entfernen. Ich weiß, ich könnte ein 'Wenn' innerhalb der Funktion und einige globale Variable hinzufügen, aber das ist nicht das, wonach ich suche.
abhängig, welche Version. Wenn es überhaupt etwas Neues (1.7+) gibt, dann ist diese Antwort nicht gut. Verwenden Sie $ ('# element'). Off ('click'); – Adam
@Adam, 'unbind()' ist weder veraltet noch entfernt (wie zum Beispiel 'live()'). Sie können es immer noch als Äquivalent zu "off()" verwenden. –
@ FrédéricHamidi - vereinbart, jedoch direkt aus den jQuery-Dokumenten selbst: (Ab jQuery 1.7 werden die Methoden .on() und .off() bevorzugt, um Event-Handler an Elementen anzuhängen und zu entfernen.) - klingt wie unbind und Bindung wird bald veraltet sein. Warum nicht die Warnung beachten? – Adam