停止按键,使其不再保持重复状态. (jQuery的) [英] Stop key from repeating on hold. (jQuery)
本文介绍了停止按键,使其不再保持重复状态. (jQuery的)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,我刚刚选择jQuery
Hello everyone i just picked up jQuery
所以我的问题是,当您按住某个键时,我想阻止它重复播放
So my question is i want to stop a key from repeating when you hold it down
示例:编辑(我希望它停止..因此每个按键/击键要输入1个字符)
Example: Edit (i want it to stop .. so 1 character per keypress/keydown)
按键:a
HoldDown:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
HoldDown: aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
我的代码是:
<input type='text'>
var stop= false;
var time =null;
$(':text').keypress(function(e) {
if(stop === true){e.preventDefault();}
if (time !== null) {
lastkey = time;
}
time = new Date().getTime();
var between = time - lastkey;
if (between <= 70) {
stop = true;
}
});
$(':text').keyup(function(){stop = false;});
我会以错误的方式处理此事吗?
Am i going about this the wrong way?
推荐答案
请尝试以下操作: http://jsfiddle. net/maniator/yFA8c/
每2秒只允许发送一封信.
It will only allow a letter per every 2 seconds.
代码:
var mult = false,
prev = 0;
$('.mult').keydown(function(e) {
if (!mult) {
mult = true;
prev = e.which;
setTimeout(function() {
mult = false;
}, 2000)
}
else if (prev != e.which) {
mult = false;
}
else {
return false;
}
});
这篇关于停止按键,使其不再保持重复状态. (jQuery的)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文