当按下数字键盘侧的加号键时,我有一个复制+键作为tab键的请求。
似乎上面的加号键是需要shift键的字母,而数字在键盘配置中的加号键的数字都是43。
如何确定哪个+键被抑制?
更新: 我正在使用这个例子,“https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_event_key_keycode”如下所示,这不是正确的方法。
答案 0 :(得分:6)
每个密钥的密钥代码都不同。数字小键盘= 107
,顶行= 187
您可以使用它在您自己的键盘上验证它:
$('#text').on('keydown', function (e) {
$('label').text(e.which);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text" />
<label></label>
您还可以使用现代浏览器中的key
属性(IE9 +)来检测输出哪个键,而不必担心确切地使用哪些键生成它:
$('#text').on('keydown', function (e) {
if (e.key == '+')
console.log('You typed a plus symbol!');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text" />
<label></label>
答案 1 :(得分:1)
这两个键产生两个不同的键码。你可以测试一个正确的:
$(document).on("keydown", function(evt){
switch (evt.keyCode){
case 107:
console.log("You pressed '+' on the number pad");
break;
case 187:
console.log("You pressed SHIFT '+' on main keyboard");
break;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Just click once over here to give the "document" focus and then press the + key(s)