javascript - 防止向上/向下箭头键更改焦点选择的选择

标签 javascript jquery html

我有一个包含两个 select 元素的文档。我希望向上/向下箭头键始终仅更改其中一个选择,无论焦点在哪里。即使用户刚刚单击 select#two 并且它仍然具有焦点,我希望向上/向下键更改 select#one

下面是我必须控制select#one的代码。 是否可以使select#two永远不响应向上/向下箭头键事件?

document.onKeyDown = function(e) {
    var evtobj = e.which ? e.which : window.event.keyCode;
    if (evtobj == 38) {
        e.preventDefault(); //do not scroll
        //change the selection
        select = $('select#one');
        select[0].selectedIndex = Math.max(0, select[0].selectedIndex - 1)
        select.change(); //fire change listeners
    } 
    if (evtobj == 40) {
        //ditto for up key
    }
}

谢谢!

最佳答案

一个半黑客的解决方案是当以下任一关键事件发生时,模糊页面上的所有其他选择元素(例如本例中的 select#two): $("选择").blur()。也许是最好/唯一的解决方案......

关于javascript - 防止向上/向下箭头键更改焦点选择的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10629193/

相关文章:

javascript - 我可以使用 javascript 发送电子邮件吗

html - 嵌套 <nav> 上未显示背景图像

javascript - 我可以在不丢失 LI 内容的情况下刷新此页面吗?

javascript - 使用javascript计算下载时间

javascript - 在栏外或按钮外单击时隐藏菜单边栏

javascript - 如何使用dragenter交换图像

jquery - 如何通过Jquery刷新Div?

javascript - 将 PDO 对象转换为 Javascript JSON

jquery - 将不同的样式表动态应用到布局中

javascript - 在 Bootstrap Modal 中将值传递给表单