我的 javascript 键有问题,Chrome(目前仅在 chrome 上进行测试)无法识别文本输入上的向上和向下箭头,因为它具有更改插入符号位置的默认行为。 我的代码如下:
if (!e) e = window.event;
var keyCode = e.keyCode || e.which;
if (keyCode == '13'){ //enter key
//some code that works
return false;
}else if(keyCode=='38'){ //up key
//some other code that doesn't work
return false;
}else if(keyCode=='40'){ //down key
//some other code that doesn't work
return false;
}
如果有人有解决方案,我将不胜感激。 谢谢!
最佳答案
很难看出代码来自哪里(我猜是按键监听器)。 正如您在下面看到的和 this fiddle (正如 Teemu 也指出的那样),方向键上不会调用按键。
另一方面,使用 event.preventDefault() 来阻止浏览器的默认行为,在您的情况下是插入符号的放置,您的监听器函数也可以将事件对象作为参数除外。
var listener = function (e) {
e = e || window.event;
alert(e.type);
var keyCode = e.keyCode || e.which;
if(keyCode=='38' || keyCode=='40'){ //arrow key
alert("arrow!");
e.preventDefault();
return false;
}
}
var elem = document.getElementById('input');
elem.addEventListener('keydown', listener, false);
关于JavaScript:在输入文本上使用向上和向下箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24190705/