event.target + chrome и safari (select > option)
Здравствуйте, когда назначаю обработчик на выпадающий select, то FF4, opera11 и ie9 правильно определяют target, но chrome и safari указывают на сам select.
Если сделать select multiple, то все становится нормально, подскажите, пожалуйста, что здесь не правильно Тестовый пример <select id = "test"> <option value = "1">номер один</option> <option value = "2">номер два</option> <option value = "3">номер три</option> </select> <select id = "test1" multiple style = "padding-bottom: 50px;"> <option value = "1">номер один</option> <option value = "2">номер два</option> <option value = "3">номер три</option> </select> <script> function showNumber(val){ alert(val); } document.getElementById("test").onclick = test; document.getElementById("test1").onclick = test; function test(e){ var trg = function(event){ return event.target || event.srcElement; }(e || window.event) if(trg === this){ return false; } showNumber(trg.value); } </script> |
Цитата:
<script type="text/javascript"> window.onload = function() { document.getElementById('select').onchange = function() { alert(this.options[this.selectedIndex].index); }; }; </script> <select id="select"> <option value="1">номер 0</option> <option value="2">номер 1</option> <option value="3">номер 2</option> </select> |
Цитата:
Плюс поставить не дают "Страница по адресу javascript.ru says: Вы должны оставить отзыв кому-то еще прежде чем сможете снова добавить его monolithed." Кстати в вашем примере можно уж наверно написать просто alert(this.selectedIndex); вместо alert(this.options[this.selectedIndex].index); |
Часовой пояс GMT +3, время: 05:16. |