设置 ctrl + 键按下事件侦听器时出现问题(未检测到)

Trouble setting up a ctrl + keydown event listener (Not detected)

本文关键字:问题 检测 ctrl 侦听器 事件 设置      更新时间:2023-09-26

我想要一个事件侦听器,在同时按下 ctrl + 左/右箭头键后控制台记录文本字符串。但是,以下函数不会选取该事件:

$(document).keydown(function (event) { 
    if (event.which === 37 && event.ctrlKey) {
    console.log('ctrl-left');
    } 
if (event.which === 39 && event.ctrlKey) {
    console.log('ctrl-right');
    } 
else {
    console.log('nothing detected');
    }
});

知道我做错了什么吗?

if 分支中存在问题,按CTRL+Left键可同时记录ctrl-leftnothing detected

此外,需要停止浏览器的默认事件处理以避免出现问题。

这在Firefox 44.0.2上对我有用:

$(document).keydown(function (event) {
    event.preventDefault();
    if (event.which === 37 && event.ctrlKey) {
      console.log('ctrl-left');
    } else if (event.which === 39 && event.ctrlKey) {
      console.log('ctrl-right');
    } else {
      console.log('nothing detected');
    }
});