使用键盘选择HTML SELECT列表中的项目不会触发CLICK事件

时间:2010-04-21 12:09:44

标签: javascript jquery html events selectlist

我有一个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 个答案:

答案 0 :(得分:2)

select框失去焦点时,代码将会运行 (按Tab键或点击select之外的任何地方)

答案 1 :(得分:1)

使用键盘快捷键更改项目时,OnChange事件因浏览器而异。

例如,在IE中,使用键盘和鼠标以相同的方式触发事件,但在Firefox中,要使用键盘触发事件,您需要在项目时按 enter 选择是好的。当&lt; select&gt;时,也会触发该事件。 Gaby指出,松散焦点(OnBlur - 只有当OnChange尚未被解雇时)。

它的制作方式......

答案 2 :(得分:0)

如果您更改添加属性,则此方法有效:

multiple="multiple"

如果你想要dropbox,我会将一个'global'keyupup事件处理程序绑定到document.body 并在那里做一些魔术。