Выбор элемента в списке HTML SELECT с помощью клавиатуры не вызывает событие CLICK - PullRequest
3 голосов
/ 21 апреля 2010

У меня есть список выбора HTML, который при выборе элемента должен отображать различную информацию под ним. События изменения onclick или JQuery запускаются, когда элемент списка выбора выбирается нажатием (мышь), но не когда пользователь нажимает клавишу (клавиатура).

Есть идеи, какое событие смотреть, чтобы определить, когда изменился выбранный элемент списка?

Вот пример теста BASIC:

<select id="mylist" name="mylist">
    <option value="">(none)</option>
    <option value="1">Test 1</option>
    <option value="2">Test 2</option>
    <option value="3">Test 3</option>
</select>

<span id="myspan"></span>

<script type="text/javascript">
    $("#mylist").change(function() {
        $("#myspan").html($("#mylist").attr("selectedIndex"));
    });
</script>

Ответы [ 3 ]

2 голосов
/ 21 апреля 2010

Код будет запускаться, когда поле select теряет фокус
( нажмите вкладку или щелкните в любом месте за пределами поля select )

1 голос
/ 21 апреля 2010

Событие OnChange отличается от браузера к браузеру, когда элемент изменяется с помощью сочетаний клавиш.

Например, в IE событие запускается одинаково с клавиатурой и мышью, но в Firefox, чтобы вызвать событие с клавиатуры, вам нужно нажать enter , когда выбран элемент это хороший. Событие также запускается, когда

Так оно и есть ...

0 голосов
/ 21 апреля 2010

Работает, если вы измените атрибут add:

multiple="multiple"

если вы хотите использовать dropbox, я бы связал «глобальный» обработчик события keyup с document.body и сотвори там немного магии.

...