Entfernen mehrerer Ereignisse desselben Ereignishandlers mit .off ()

9

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?

    
Darren Sweeney 25.08.2016, 11:38
quelle

3 Antworten

3

Nachdem Sie sich die Quelle angesehen haben, sehen Sie in off : -

%Vor%

Dies bedeutet, dass der Selektor genau so sein muss, wie er erstellt wurde.

Daher müssen Sie Folgendes verwenden: -

%Vor% %Vor%
    
BenG 25.08.2016 12:04
quelle
0

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 off's Dokumentseite (siehe letztes Beispiel unten auf der Seite).

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.

    
PanJunjie潘俊杰 25.08.2016 12:24
quelle
0

Aus dem Handbuch :

  

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:

%Vor% %Vor%

Die andere (und wahrscheinlich bessere) Lösung besteht darin, einen Namespace für Ihre Event-Handler zu verwenden, der die Manipulation erleichtert:

%Vor% %Vor%
    
Salman A 25.08.2016 12:35
quelle

Tags und Links