Event-Handler-Namespace in Vanilla JavaScript
Ich bin vertraut mit namespaces in jQuery event Handler. Ich kann hinzufügen eines event-handler in einem bestimmten namespace:
$('#id').on('click.namespace', _handlerFunction);
Und dann kann ich entfernen Sie alle event-Handler in diesem namespace:
$('#id').off('.namespace');
Der Vorteil hier ist, dass ich entfernen können nur die Ereignisse, die in diesem namespace an, und nicht alle Benutzer Hinzugefügt/weitere Ereignisse, die beibehalten werden sollte.
Hat jemand irgendwelche Tipps, wie ich kann nicht mit jQuery, aber ein ähnliches Ergebnis erzielen?
Danke!!!!
- danml.com/js/events.js hat Sachen wie: wählen Sie mit einem regexp. auch nach bower und microjs für "event" - für mehr stuff like that...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sind auf der Suche für addEventListener und removeEventListener. Sie können auch benutzerdefinierte Ereignisse und Feuer Sie mit dispatchEvent.
Jedoch, so entfernen Sie einen Ereignis-listener, die Sie benötigen, behalten Sie einen Verweis auf die event-Funktion zu entfernen, nur die Funktion, die Sie möchten zu entfernen statt löschen der gesamten Veranstaltung.
mouseup
Veranstaltung auf derwindow
und entfernen Sie dann nur, dass man (vorausgesetzt es gab noch andere nicht-Namespaces als auch)?Für jemand, der noch auf der Suche für diese, ich endete damit, ein Helfer singleton, die Spur hält der Funktion Referenzen für mich.
Dann einfach importieren Sie die Ereignis-und wie:
Event
ist bereits eine native event-Klasse name?In dieser Lösung habe ich erweitert den DOM zu haben
on
undoff
Methoden die Möglichkeit, auch Ereignisse, die Verwendung von Namensräumen:JS:
HTML: