Rolf b: Per JavaScript ein <select> "aufklappen" lassen

Beitrag lesen

Äh Felix, da hast Du mich jetzt komplett mistverstanden.

Ein alert(), der vor oder hinter document.addEventListener steht, läuft nicht im Event Handler. Ich meine dies:

alert("huhu1");
document.addEventListener("DOMContentLoaded", function() {
   alert("huhu2");
});
alert("huhu3");

Beim Aufruf der Seite sollten alle 3 Huhus kommen, in der Reihenfolge 1, 3, 2. Es kommen aber nur 1 und 3. Und weil Huhu2 nicht kommt, wird dein Initialisierungscode nicht durchgeführt.

Jetzt ist mir aber auch klar, warum das so ist. Das JavaScript von JSFiddle wird in body.loaded ausgeführt, und dann ist DOMContentLoaded schon lange vorbei. Die gute Nachricht ist: JSFiddle tut für dich ohnehin, was Du selbst tun wolltest, d.h. du kannst dein JavaScript auf den Inhalt der Funktion reduzieren, die du im Eventhandler laufen lässt.

Du müsstest dann auch noch deinen Selector für querySelectorAll modifizieren, im Fiddle ist keine Table und darum ist td:first-child nicht ganz angebracht :)

Ändert nur alles nichts am Sachverhalt: Selects kann man nicht per Script aufklappen. Weil das scheinbar nicht gewollt ist. Bedanke Dich bei all den Hackern, die Mist mit JavaScript gemacht haben...

Rolf