Quick Tip: jQuery Object im trigger übergeben

Laut der jQuery API Seite zu `trigger()` müssen die zusätzlichen Parameter als Array übergeben werden. Ab 1.6.2 kann man einen einzelnen Parameter auch ohne die Array-Notation übergeben. Leider klappt das anscheinend mit einem in jQuery gewrappten Element nicht wirklich.

$('body').bind('sampleEvent', function(e, liste) {
  console.log(liste.length);
});

var liste = $('a');
console.log(liste.length);
$('body').trigger('sampleEvent', liste);

In `liste` befinden sich mehrere Elemente (da es mehrere a-Tags auf meiner Beispielseite gab). Die Ausgabe im EventHandler gibt allerdings ‚undefined‘ zurück. Übergibt man den Parameter nun aber als Array `$(‚body‘).trigger(’sampleEvent‘, [liste]);` klappt alles wunderbar.

So ganz bin ich noch nicht dahinter gekommen woran es liegt. Wenns jemand weiß, dann würd ich mich über ein Kommentar freuen.

Werbung

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s