这个想法是将普通键与修饰键链接在一起(如果碰巧会被按下)。 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-如果有某种内置的方法可以将其恢复为原始值而无需手动设置
最佳答案
如果您想知道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" />
要回答您的问题:
A-您可以等待第一个函数完成,然后执行将其恢复为正常状态的代码
B-如果有某种内置的方法可以将其恢复为原始值而无需手动设置
两者的答案是否定的。您使用的模式是最好的方法。