我有一个包含两个select
元素的文档。我希望上/下箭头键始终只更改其中一个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
}
}
谢谢!
答案 0 :(得分:0)
一个半黑客的解决方案是,当这些关键事件发生时,模糊页面上的所有其他选择元素(例如本例中的select#two
):$("select").blur()
。也许是最好/唯一的解决方案......