这个想法是在正常按键碰巧被按下时使用修饰键来链接它们。 c 与 Ctrl c
以下作品:
var inc = 10;
$(document).keydown(function(e) {
switch(e.which) {
case 16: // shift
inc = 100;
break;
case 17: // ctrl
inc = 1;
break;
}
});
$(document).keyup(function() {
inc = 10;
});
当键关闭时,变量设置为相应的值,并在释放时恢复正常。但我想知道是否:
A - 您可以等待第一个函数完成,然后执行将其恢复正常的代码
B - 如果有某种内置方式可以将其恢复为原始值而无需手动设置
答案 0 :(得分:1)
如果您想知道 CTRL 或 SHIFT 键是否用作修饰符,请不要查找它的键码。而是使用事件的ctrlKey
或shiftKey
属性。试试这个:
var inc = 10;
$('input').val(inc);
$(document).keydown(function(e) {
if (e.shiftKey) {
inc = 100;
} else if (e.ctrlKey) {
inc = 1;
}
$('input').val(inc);
});
$(document).keyup(function() {
inc = 10;
$('input').val(inc);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
&#13;
回答你的问题:
A - 您可以等待第一个函数完成,然后执行将其恢复正常的代码
B - 如果有某种内置方式可以将其恢复为原始值而无需手动设置
两者的答案都是否定的。您使用的模式是最好的方法。