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