Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第一次按下后,禁用输入键盘3秒钟,然后再次重新启用输入键盘_Javascript_Jquery_Html - Fatal编程技术网

Javascript 第一次按下后,禁用输入键盘3秒钟,然后再次重新启用输入键盘

Javascript 第一次按下后,禁用输入键盘3秒钟,然后再次重新启用输入键盘,javascript,jquery,html,Javascript,Jquery,Html,这是我的代码,但我在如何去做上遇到了挑战。我想在第一次按下键盘后,将其禁用三秒钟,然后再次重新启用。这是我的尝试 function disableForThreeSeconds(e) { if (e.keyCode == 13) { //if pressed for the first disable for three seconds } } } 请帮忙 在if块中: e.target.disabled = true; windo

这是我的代码,但我在如何去做上遇到了挑战。我想在第一次按下键盘后,将其禁用三秒钟,然后再次重新启用。这是我的尝试

    function disableForThreeSeconds(e) {
    if (e.keyCode == 13) {
        //if pressed for the first disable for three seconds
        }
    }
}
请帮忙

在if块中:

e.target.disabled = true;   
window.setTimeout(function(){
    e.target.disabled = false;
},3000);

您可以使用
setTimeout
。查看文档

Api:
number setTimeout(函数回调,整数毫秒)

简单的jQuery示例:

setTimeout(function(){
    $(window).keypress(function(e){
        if (e.keyCode == 13) {
            return false;
        }
    })
}, 3000);

您可以忽略处理程序中的事件,而不是禁用键盘

var isDisabled;

function disableForThreeSeconds(e) {
    if (e.keyCode == 13) {
        if (!isDisabled) {
            isDisabled = new Date();
        } else {
        //if pressed for the first disable for three seconds
            if (new Date() - isDisabled > 3 * 1000 )
                isDisabled = 0;
        }
    }
}

您正在尝试对整个页面或特定元素禁用它吗?这将在三秒后禁用该键。“它将保持残疾状态。”弗朗西斯,这是一个“简单”的例子。您需要了解
setTimeout
并在其下应用代码。“我可以教授和指导,但不能做这些工作”。@OlafErlandsen每3秒设置一个事件侦听器,该侦听器将禁用enter键的功能。一旦设置了事件,就没有任何东西可以阻止它。