jquery在文本框更改和超时上运行函数

时间:2016-02-09 11:21:46

标签: jquery

我有这个功能:

$(document).ready(function() {
    var timeoutId;
    $('#invoices input, #invoices textarea').on('input propertychange change', function() {    
        clearTimeout(timeoutId);
        timeoutId = setTimeout(function() {
            // Runs 1 second (1000 ms) after the last change
            $("#submit").click();
        }, 1000);
    });
});

它在1秒后在textbox / textarea上运行一个函数,但它运行$("#submit").click();两次。一旦改变后和从输入中删除焦点后

我怎么能阻止它去两次?

1 个答案:

答案 0 :(得分:2)

您还需要清除匿名函数中的超时,以便在当前处理的元素之后在元素上引发的其他事件也不能提交表单。试试这个:

$var = 10e7;