Ich weise zwei Ereignishandler zu:
%Vor%Ich möchte beide Handler entfernen. Ich weiß, dass ich es kann:
%Vor%Ich dachte, es wäre in einer Zeile möglich, aber beide scheitern:
%Vor%Gibt es eine Möglichkeit, dies in einem Befehl zu tun?
Hier verwenden Sie die Dot-Style-Namespaces, um einzelne Handler zu identifizieren, es ist in Ordnung, aber da es von jQuery-Dokumenten "Namespace" genannt wird und wie CSS-Klassen aussieht, ist es besser auf eine Gruppe von Handlern abgestimmt. Wenn Sie also die beiden Ereignisse "classA" und "classB" nicht unterscheiden, können Sie einfach "classCommon" für beide verwenden und später mit "classCommon" zusammenfügen, ein Beispiel, das ich gerade auf
Und wie von anderen oben vorgeschlagen, müssen alle diese Dinge auf demselben Element geschehen. Selber Selektor, um genau zu sein. Wenn sich Ihre Frage also auf mehrere HTMLElements bezieht, müssen Sie #myElement
in .elementsIWantToHandleTogether
ändern.
Um bestimmte delegierte Event-Handler zu entfernen, geben Sie
selector
an. Streit. Die Auswahlzeichenfolge muss genau mit der übergebenen übereinstimmen.on()
, wenn der Event-Handler angehängt wurde. Um alle Delegierten zu entfernen Ereignisse von einem Element, ohne nicht delegierte Ereignisse zu entfernen, verwenden Sie die spezieller Wert"**"
.
Dies bedeutet, dass "**"
verwendet werden kann, um alle delegierten Event-Handler zu entfernen. Sie können jedoch nicht mehr auf bestimmte Klassen abzielen:
Die andere (und wahrscheinlich bessere) Lösung besteht darin, einen Namespace für Ihre Event-Handler zu verwenden, der die Manipulation erleichtert:
Tags und Links javascript jquery