[英]I Need a way to execute a particular function when i press the forward key or the back key in javascript
当我在 JavaScript 中按下前进键或后退键时,我需要一种执行特定功能的方法。 因此,当按下前进按钮时它可以工作,它可以执行该功能,但它应该在不接受任何类型文本框中输入的情况下工作。
我的意思是无论我在页面上的哪个位置,它都应该在整个页面上工作,但是如果我按下前进按钮,则应该执行该功能。
我知道如何通过匹配键代码在文本框中输入来做到这一点,但不知道如何使其以其他方式工作。
如果前进和后退键是指箭头键,这就是您可以做到的!
document.onkeydown = function(e) {
e = e || window.event;
switch(e.which || e.keyCode) {
case 37: // left
break;
case 38: // up
break;
case 39: // right
break;
case 40: // down
break;
default: return; // exit this handler for other keys
}
e.preventDefault(); // prevent the default action
});
我对我的假设非常有信心,即您指的是键盘上的箭头键。 正如您所说,您已经有了用于聚焦文本框的工作代码,我还假设您已经在使用onkeydown
(或类似的其中之一)。 所以解决方案是将事件侦听器添加到document
。
像这样例如:
document.onkeydown = function(e){
// Your existing code goes here.
}
如果要检测箭头键,则需要使用onkeydown
。
使用onkeydown
因为这适用于所有浏览器。 我认为onkeypress
不会与 google chrome 一起用于箭头键事件。
要查找更多信息,您可以使用console.log(event.keyCode);
在您的onkeydown
函数中,将键码记录到您的浏览器控制台。
function MyFunc() { alert("Key up or down!"); } document.onkeydown = function() { if (event.keyCode == 38 || event.keyCode == 40) { MyFunc(); } }
如果您有任何问题,请在下方留言,我会尽快回复您。
我希望这有帮助。 快乐编码!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.