我想检查是否在5秒钟内两次按Enter键并执行一些操作。
如何检查在给定时间内是否按过一次或两次按键,然后执行不同的操作。

这是我的代码:

<h1 id="log">0</h1>
<br/>
<span id="enteredTime">0</span>

<script>
$(document).keypress(function(e) {
    if(e.which == 13){
        var element = $("#log");
        var timeDifference = 0;

        //Log the timestamp after pressing Enter
        $("#enteredTime").text(new Date().getTime());

        //Check if enter was pressed earlier
        if ($("#enteredTime").text() !== "0") {
            var now = new Date().getTime();
            var previous = $("#enteredTime").text();
            difference = now - previous;
        }
        //Check if enter was pressed only once within 5 secs or more
        if(){
            $("#log").text("Once");
            $("#enteredTime").text("0");
        //Check if enter was pressed twice in 5 secs
        }else{
             $("#log").text("Twice in less than 5 secs");
             $("#enteredTime").text("0");
        }

    }

});
</script>


http://jsfiddle.net/Rjr4g/

谢谢!

最佳答案

就像是

var start=0;
$(document).keyup(function(e) {
    if(e.keyCode == 13) {
        elapsed = new Date().getTime();
        if(elapsed-start<=5000){
           //do something;
        }
        else{
            //do something else;
        }
        start=elapsed;
    }


});

关于javascript - Javascript-检查是否在5秒内按了两次键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23820862/

10-15 04:37