JavaScript可以帮助防止重复点击事件处理吗?

时间:2017-02-06 05:47:59

标签: javascript jquery

我希望呼叫功能每1.5秒运行一次。 但是,如果您在移动设备上持续点击 从连续调用call函数的那一刻开始。

这是我正在使用的代码:

$('#sendVideo').unbind('click');
$('#sendVideo').bind('click', function (event) {
    $("#sendVideo").prop("disabled", true);
    call();
    setTimeout("$('#sendVideo').prop('disabled', false);", 1500);
});

有解决方法吗?

2 个答案:

答案 0 :(得分:3)

你可以使用聪明的黑客:

~n

答案 1 :(得分:0)

您可以在捕获阶段在元素上设置标记,并在冒泡阶段将其删除。我不确定jQuery,但在简单的java脚本中你可以像这样实现它:

// set the flag on at capture
document.querySelector("#sendVideo").addEventListener('click', function(e) {
    if (this.flagOn) {
        e.preventDefault();
        return false;
    }
    this.flagOn = true;
    return true;
}, true);
// delete on bubble
document.querySelector("#sendVideo").addEventListener('click', function(e) {
    delete this.flagOn;
}, false);

这应该为您处理,而不需要对您自己的代码进行任何修改。