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.

Advertisements

jQuery Plugin Galleria zeigt beim laden einen schwarzen Kasten

Beim jQuery Plugin Galleria wird ein schwarzer, seitenbreiter Kasten über der Seite angezeigt. Dies scheint nur aufzufallen, wenn der Seitenaufbau, z.B. durch viele Grafiken, länger dauert. Der Kasten geht für ca. 3 Sekunden auf und verschwindet dann wieder.
Zurückzuführen ist das Problem auf folgende Zeilen in galleria.js:

var testElem = this.create('div', 'galleria-container galleria-stage');
this.moveOut(testElem);
document.body.appendChild(testElem);

Lösen kann man das auch recht leicht. Ich habe eine CSS Klasse „invisible“ mit der Eigenschaft display: none; Dann noch folgende Änderung am JS und schon ist der Kasten weg:

var testElem = this.create('div', 'galleria-container galleria-stage invisible');
//this.moveOut(testElem);
document.body.appendChild(testElem);

jQuery Plugin Galleria zeigt im Opera keine Thumbnails

Wieder einmal stieß ich wärend meiner Arbeit an einem Webprojekt auf ein Problem mit dem Browser Opera. Diesmal im Zusammenhang mit Galleria (jQuery Galerie Plugin). Diese recht schicke Galerie war perfekt für das anliegende Projekt geeignet. Leider wurden die Thumbnailgrafiken im Opera nicht angezeigt. Nach etwas Debugging fand ich das Problem. Dem Thumb div (class galleria-image) wurde eine Höhe und eine Breite von 0px zugewiesen, dem Bild demnach auch. Dies trat allerdings nur im Opera auf.
Beheben lässt sich das ganze, indem man in der CSS Datei galleria.classic.css die Attribute height und width bei .galleria-image mit !important markiert. Dann funtionierts auch im Opera.

Ob das hier erwähnte auch mit andern Styles als der classic funktioniert weiß ich nicht, da ich keinen anderen Style benutzt habe.