我想捕获一个事件替代 + c或类似的东西。我的代码是 HTML如何捕获ALT + C按键
<input type="text" id="name"/>
的JavaScript
$("#name").keydown(function(e) {
if(e.keyCode == 67 && e.keyCode == 18){alert(e.keyCode);}
});
问题出在哪里?它是如何在Chrome浏览器上运行的&?
我想捕获一个事件替代 + c或类似的东西。我的代码是 HTML如何捕获ALT + C按键
<input type="text" id="name"/>
的JavaScript
$("#name").keydown(function(e) {
if(e.keyCode == 67 && e.keyCode == 18){alert(e.keyCode);}
});
问题出在哪里?它是如何在Chrome浏览器上运行的&?
您需要检查e.altKey
代替:
if(e.altKey && e.keyCode == 67){alert(e.keyCode);}
基本上,你正在检查两码为同一时间。事件(e
)有多个值,你可以工作......包括altKey
这是一个布尔值(true或false)...
尝试......看着e.altKey
和e.keyCode
值。
$("#name").keydown(function(e) {
if(e.altKey && e.keyCode == 67) {
alert(e.keyCode);
}
});
有了正确的jQuery版本,浏览器之间应该没有问题。
$(document).keydown(function(e) {
//console.log(e.keyCode); If you want to check other keys code
if(e.keyCode == 67 || e.keyCode == 18){
console.log("alt or c pressed");
}
});
您可以解决此问题,以检查是否同时按下两个键。我要求你使用一个aux var设置为零,当keydown事件触发时增加他的值,当keyup时减少它。
我想你需要看看'e.altKey'和'e.ctrlKey'。尝试在这里的答案http://stackoverflow.com/questions/93695/best-cross-browser-method-to-capture-ctrls-with-jquery或http://stackoverflow.com/questions/4604057/jquery-keypress -ctrlc-or-some-combo-like-that – 2015-02-11 16:03:02
我理解你的困惑,但是如果你考虑一下,'e.keyCode'不能同时是两个不同的值。所以如果你需要一次检查两个按键,你需要一个不同的机制。这就是'e.altKey'的用途。 – 2015-02-11 16:07:51