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, время: 10:51. |