Event-Handler bei select option?
wengejo
- javascript
Hallo Zusammen,
ich habe ein Problem mit einem option-Tag in einer Select-Box.
Ich möchte, dass bei jeder option onMouseOver eine JavaScript Funktion mit anderen attributen aufgerufen wird.
Ich habe das ganz einfach so gemacht:
<select size=1>
<option onmouseover="alert('option 1');">option 1</option>
<option onmouseover="alert('option 2');">option 2</option>
<option onmouseover="alert('option 3');">option 3</option>
<option onmouseover="alert('option 4');">option 4</option>
</select>
Funktioniert im FF perfekt, aber im IE natürlich nicht. Gibt es eine Möglichkeit Event-Handler bei einem option-Tag zu verwenden?
Vielen Dank für die Hilfe,
Gruss wengejo
Hallo lieber SELFHTML-Benutzer,
Wie immer vielen Dank für's Lesen.
Denke das hier sollte in etwa dem entsprechen, was du meintest, oder?
<script type="text/javascript" defer="defer">
function test(e) {
alert(e.options[e.selectedIndex].value);
}
</script>
<form name="testform" action="">
<select name="auswahl" onchange="test(this)">
<option value="val1">name1</option>
<option value="val2">name2</option>
</select>
</form>
Mit freundlichem Gruß,
Rene Schindhelm
Vielen Dank für die schnelle Antwort.
Denke das hier sollte in etwa dem entsprechen, was du meintest, oder?
Nein nicht ganz, ich brauche keinen onChange sondern einen onMouseOver Event.
Wenn ich in deiner Lösung das onChange durch onMouseOver ersetze wird zwar eine Funktion aufgerufen, aber es werden bei jeder Option die gleichen Attribute übergeben.
Grüsse wengejo
Denke das hier sollte in etwa dem entsprechen, was du meintest, oder?
Nein nicht ganz, ich brauche keinen onChange sondern einen onMouseOver Event.
Ein option Element kennt keinen mousover Event.
Wenn ich in deiner Lösung das onChange durch onMouseOver ersetze wird zwar eine Funktion aufgerufen, aber es werden bei jeder Option die gleichen Attribute übergeben.
Ich vermute du hast mittlerweile mal einen Blick in selfhtml geworfen und dabei das Kapitel über options gefunden, wo beschrieben ist wie man auf diese zugreift.
Struppi.
Ein option Element kennt keinen mousover Event.
Offenbar doch, im FF funktioniert das so einwandfrei.
Ich vermute du hast mittlerweile mal einen Blick in selfhtml geworfen und dabei das Kapitel über options gefunden, wo beschrieben ist wie man auf diese zugreift.
Ich weiss wie man auf option Elemente zugreifft, das hilft mir aber nicht onMouseOver eine Aktion auszuführen.
Des weiteren bin ich gerade auf selfhtml auf folgenden Artikel gestossen: http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onmouseover
Und da ist bei "erlaubt in folgenden HTML-Tags:" u.A. auch <option> aufgeführt.
Ein option Element kennt keinen mousover Event.
Offenbar doch, im FF funktioniert das so einwandfrei.
Und im IE nicht, also.
Ich vermute du hast mittlerweile mal einen Blick in selfhtml geworfen und dabei das Kapitel über options gefunden, wo beschrieben ist wie man auf diese zugreift.
Ich weiss wie man auf option Elemente zugreifft, das hilft mir aber nicht onMouseOver eine Aktion auszuführen.
Das habe ich auch nciht gesagt, aber du kannnst wenn du die Events des Select Elements verwendes auf die options zugreifen.
Des weiteren bin ich gerade auf selfhtml auf folgenden Artikel gestossen: http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onmouseover
Und da ist bei "erlaubt in folgenden HTML-Tags:" u.A. auch <option> aufgeführt.
Der IE ignoriert das offenbar.
Struppi.
@@Struppi:
Ein option Element kennt keinen mousover Event.
?? Die HTML-Spec sagt etwas anderes.
Und im IE nicht, also.
Dass etwas im IE nicht funktioniert, ist wohl nie eine Begründung für irgendwas. Also.
Live long and prosper,
Gunnar
Und im IE nicht, also.
Dass etwas im IE nicht funktioniert, ist wohl nie eine Begründung für irgendwas. Also.
... kann er den Event nicht benutzen, wenn im IE etwas passieren soll, oder was ist deine alternative?
Struppi.
Hallo,
... kann er den Event nicht benutzen, wenn im IE etwas passieren soll, oder was ist deine alternative?
Ein eigenes select-Widget, das sich unobtrusive hinzuschaltet! Oder vielleicht eine ActiveX-Control! ;-)
Mathias
Hallo,
Des weiteren bin ich gerade auf selfhtml auf folgenden Artikel gestossen: http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onmouseover
Und da ist bei "erlaubt in folgenden HTML-Tags:" u.A. auch <option> aufgeführt.
Richtig, mit Betonung auf "Nach HTML 4.0 erlaubt". Heißt leider nicht, dass das alle Browser auch umsetzen.
Für den MSIE ist mouseover nicht für option existent:
http://msdn2.microsoft.com/en-us/library/ms536949(VS.85).aspx
(Siehe "Applies To")
Mathias