Wie man am target-element mit jQuery event listener?
Ich habe einen Ereignis-listener, und ein element, das löst ein benutzerdefiniertes Ereignis " beim klicken. Sie sind wie folgt eingerichtet:
$(document).on('customEventName', function(e) {
//do something
});
$(document).on('click', '[data-action]', function(e) {
e.preventDefault();
$(document).trigger( $(this).attr('action') );
});
Sagen, ich habe eine anchor-tag (<a href="#" data-target="customEventName">
) auslösen, die click
Fall, wie würde ich dann an die <a>
tag und seine Eigenschaften in meiner Zuhörer? Ich bin zu wollen, um auf das Objekt zu analysieren, zusätzliche data-
Attribute.
- Wenig verwirrt, scheint, Sie sind bereits mit
this
Sie möchten, übergeben Sie die Instanz vonthis
auf Ihre benutzerdefinierten listener? - Im Grunde, ja.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lösung 1:
extraParameters
Verwenden
extraParamters
parameter als zweites argument vontrigger
jQuery-Funktion.Vom Dokumentation:
.trigger( event [, extraParameters ] )
Veranstaltung
extraParameters
JSFIDDLE
Lösung 2: benutzerdefinierte Ereignisse
Laut Dokumentation, können Sie auch erstellen Sie eine benutzerdefinierte
Event
dem Sie festlegen können, das Ziel:Kategorie:
Event
ObjektJSFIDDLE
.on('customEventName')
ime
parameter ohne pass-der Aufrufer-Objekt als zusätzlichen parameter?Könnten Sie übergeben Sie es als parameter im trigger:
könnte man auch versuchen, so etwas wie dieses: