Как заставить работать .change для <select> где-то, кроме оперы?
По событию .chage я подгружаю и вывожу координаты выбранного человека... Когда из списка выбирают мышкой, то все хорошо, но если начинают листать с помощью клавиатуры, то во всех браузерах, кроме Opera ничего не происходит. Вот страничка, чтоб глянуть нерабочее событие.
Смотреть пункт МЕНЕДЖЕР. Пролистывание стрелочками неработает. Помогите, пожалуйста... |
Этот скрипт удаляет изменения на стрелках и в Опере. По-моему не оч. клевое решение. Никто не знает более красивого решения?
|
Не очень красиво т.к. на скорую руку писал, но функционал вроде бы этот нужен:
<script type="text/javascript">
window.onload = function() {
var menu = document.getElementById("menu");
var select = menu.getElementsByTagName('select');
var div = menu.getElementsByTagName('div')[0];
for(i=0; i<select.length; i++){
select[i].onkeyup = function(){
div.innerHTML = this.options[this.selectedIndex].value;
};
select[i].onchange = function(){
div.innerHTML = this.options[this.selectedIndex].value;
};
}
};
</script>
<div id="menu">
<form action="" method="get">
<select>
<option value="">Выберите менеджера</option>
<option value="Телефон: +01<br />Email: manager@1.dn.ua">Юля</option>
<option value="Телефон: +02<br />Email: manager@2.dn.ua">Вася</option>
<option value="Телефон: +03<br />Email: manager@3.dn.ua">Дима</option>
<option value="Телефон: +04<br />Email: manager@4.dn.ua">Петя</option>
</select>
</form>
<div></div>
</div>
|
Реализовал все гораздо проще:
$(".manager").keyup(function(e){
if (e.keyCode>=37 && e.keyCode<=40) {
// мой обработчик для .change()
}
});
Но за идею спасибо! |
| Часовой пояс GMT +3, время: 06:59. |