【发布时间】:2012-05-24 15:28:12
【问题描述】:
我有一个包含两个 select 元素的文档。我希望向上/向下箭头键始终只更改其中一个selects,无论焦点在哪里。即使用户刚刚点击了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
}
}
谢谢!
【问题讨论】:
-
您愿意接受 jQuery 解决方案吗?
-
@ElliotBonneville 从
$('select#one')来看,我想他已经在用了 -
哦,糟糕,错过了。不错的收获。
-
您是否考虑过使用带有某种样式的列表而不是选择标签?
-
@Chango 我想这会起作用,但这会进入一个大型网站,该网站有一组定义的样式元素,我可以使用。
标签: javascript jquery html