一个简单的jQuery,可在用户当前键入内容时将类.typing添加到<html>标记中。我已经尝试了几种不同的方法,但都没有用,不知道该怎么做。

$('html').keypress(function(){
    $(this).addClass('typing');

    if  ( /* No key is pressed again in the next 0.5 seconds */ ) {
        $('.typing').removeClass('typing');
    }
});

最佳答案

创建一个函数,该函数使用setTimeout(与clearTimeout结合使用,以防止一次同时发生多个超时),在0.5秒后执行某些代码。

var timer;                  //Local variable to hold time-out reference
function refreshPress(){
    clearTimeout(timer);    //Prevent stacked time-outs, only one is allowed
    timer = setTimeout(function(){
        $('.typing').removeClass('typing');
    }, 500); //0.5 seconds
}

$('html').keypress(function(){
    $(this).addClass('typing');  //This line can also be merged with refreshPress
    refreshPress();              // Call refreshPress
});

关于javascript - jQuery输入脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8289356/

10-12 14:07