我有一个包含两个 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/