我在按 ctrl + 输入时尝试调用函数。但是, ctrl 键似乎不起作用。
this.element.onkeydown = function(evt){
var e = evt || window.event;
var keyCode = (window.event) ? e.which : e.keyCode;
var keys = {
'shift' : e.shiftKey,
'ctrl' : e.ctrlKey,
'alt' : e.altKey,
'enter' : 13,
};
console.log(keys['ctrl'],keys['enter']) //false,13
}
我看不出为什么ctrlKey
是假的。有人知道发生了什么吗?
答案 0 :(得分:1)
onkeydown
将被触发(换句话说,它不是捕获多个键的首选方法)。
要捕获多个键事件,请使用keydown
或keypress
此外,您实际上想要捕获10个和13个密钥代码(Chrome中的密钥代码为10)
this.element.keypress(function (e) {
var keyCode = (e.which ? e.which : e.keyCode);
if (keyCode === 10 || keyCode == 13 && e.ctrlKey) {
console.log('success');
}
}