我正在尝试设置一个可以通过箭头键导航的菜单。我在Firefox中有一个工作的fin。
试着让它在IE8中工作,经过一些努力,我发现这是因为IE8不会注册箭头上的按键。要测试:
$(document).keypress(function (eh){
alert(eh.keyCode);
};
在Firefox中,按任何一个箭头键都会触发37、38、39或40的警报。
在IE8中,什么都没有。标准QWERTY键盘上的任何其他键都可以注册,但箭头键不会注册。
这是我的Javascript的问题吗?浏览器设置?Windows设置?
发布于 2010-02-08 01:39:02
试试这个:
$(document).keydown(function (e) {
if(!e) {
e = window.event;
}
switch(e.keyCode) {
case 37:
goLeft();
break;
case 39:
goRight();
break;
}
});
发布于 2010-02-08 01:34:36
使用“keydown”事件
发布于 2010-02-08 07:50:20
因为有时我不想让某些键的事件冒泡,所以我使用类似这样的方法:根据需要自定义代码/键。
/* handle special key press */
function checkCptKey(e)
{
var shouldBubble = true;
switch (e.keyCode)
{
// user pressed the Tab
case 9:
{
$(".someSelect").toggleClass("classSelectVisible");
shouldBubble = false;
break;
};
// user pressed the Enter
case 13:
{
$(".someSelect").toggleClass("classSelectVisible");
break;
};
// user pressed the ESC
case 27:
{
$(".someSelect").toggleClass("classSelectVisible");
break;
};
};
/* this propogates the jQuery event if true */
return shouldBubble;
};
/* user pressed special keys while in Selector */
$(".mySelect").keydown(function(e)
{
return checkCptKey(e);
});
https://stackoverflow.com/questions/2217553
复制相似问题