内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
正在编写一个jQuery扩展
$.fn.preventDoubleClick = function() { return this.click(function() { var $t = $(this) , retVal = $t.data('active') // check the internal flag ; if (retVal || retVal === undefined) { // if ON... $t.data('active', false); // set the internal flag to OFF setTimeout(function() { $t.data('active', true); }, 1000); // after 1 second, set the internal flag to ON console.log("allowed"); return true; } else { // if OFF... console.log("blocked"); return false; } }); };
如果元素上还有其他单击事件处理程序,它们仍然会触发:
$('#myLink').click(function() { console.log("Clicked"); }); $('#myLink').preventDoubleClick();
由于Adam的链接,能够看到需要的函数:stopImmediatePropagation()
...