Dynamicznie dodany element SELECT nie uruchamia zdarzenia onchange w Internet Explorerze
O ile mogę to powiedzieć, jest to tylko złamane w Internet Explorerze. Mam skrypt, który tworzy wiele dynamicznych elementów <select> i dodaje dla nich zdarzenie onchange. Zdarzenie onchange uruchamia się w Firefoksie bez problemu, ale w Internet Explorerze nigdy się nie uruchamia. Korzystanie z paska narzędzi programisty Widzę, że DOM ma poprawne zdarzenie na liście, po prostu nigdy nie odpala. Problem sprowadziłem do następującego kodu:
<html>
<head>
<script language="javascript">
function addSelect() {
var se = document.createElement('select');
se.setAttribute("onchange", "alert('Dynamic')");
se.options[0] = new Option("1", "1");
se.options[1] = new Option("2", "2");
se.options[2] = new Option("3", "3");
se.options[3] = new Option("4", "4");
var plh = document.getElementById("ph");
plh.appendChild(se);
}
</script>
</head>
<body onload="addSelect()">
<select name="something" onchange="alert('Static')">
<optgroup label="set1">
<option value="1">1</option>
<option value="2">2</option>
</optgroup>
<optgroup label="set2">
<option value="3">3</option>
<option value="4">4</option>
</optgroup>
</select>
<div id="ph">
</div>
</body>
</html>
Komunikat alertu statycznego pojawia się dobrze, ale dynamiczny nie działa w Internet Explorerze. Jestem prawie pewien, że widziałem tę pracę gdzie indziej, ale nie mogę znaleźć innych przykładów. Czy ktoś widzi / wie, jak to działa?