停止按键,使其不再保持重复状态. (jQuery的) [英] Stop key from repeating on hold. (jQuery)

查看:94
本文介绍了停止按键,使其不再保持重复状态. (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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆