javascript - 暂时忽略Meteor Template中的点击事件

标签 javascript jquery node.js meteor

我想在点击按钮 #firstBtn 后 5 秒内暂时忽略该按钮上的任何点击事件。

Template.sidebar.events({
    'click #firstBtn': function () {
        //...
    }
})

如何做到这一点?调查了一下

$('#firstBtn').unbind('click', eventHandler)

Meteor.setTimeout(function(){ 
    $('#firstBtn').bind('click', eventHandler) 
}, 5000)

但是我们应该如何引用模板sidebar中的点击事件处理程序?

最佳答案

尝试这样的事情:

首先,初始化一个变量来设置超时,并初始化一个变量来表示按钮是否已被单击。这是条件语句所必需的。

var timeout = 5000; //5000 milliseconds is equal to 5 seconds
var isClickable = true;

然后,尝试一些像这样的条件测试:

$('#firstBtn').click(function(){

if(isClickable){
...
//standard link handling code
...
isClickable = false;
setTimeout(function(){isClickable = true;},timeout)

}else{
return;
}

});

这将仅允许在超时完成时执行点击事件的处理代码。

<小时/>

祝你好运!

关于javascript - 暂时忽略Meteor Template中的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26620208/

相关文章:

JavaScript 搜索功能在 Chrome、Safari 和 Opera 中运行良好,但在 IE 和 Firefox 中则需要很长时间

javascript - 使用JavaScript函数显示flash

javascript - 如何创建一个使用 javascript 修改自身的书签

node.js - NodeJs 中出现上下文错误,模块名称 "fs"尚未加载

node.js - 最小化多个云功能中冷启动时间的最佳方法

javascript - 不可变 js 更新 Map 中的键

javascript - 设置数字中的特定位

jquery - 使用 AJAX 动态更新表行

javascript - 无法知道禁用元素上的点击行为

javascript - 如何让用户通过在 url 中输入房间名称来进入特定房间?套接字.io