我试图禁用元素的多次点击或在每次点击之间设置延迟以防止内容超载
我想做那样的事!
var clicked = false; if(!clicked) { clicked = true; // do all my staff right here !! setTimeout(function(){ clicked = false; }, 3000); }
但它不起作用? 任何人都可以得到我想做的事情? 谢谢
禁用使用setTimeout
单击按钮30秒。
$("#btnTest").click(function() { $(this).attr("disabled", true); setTimeout(function() { $('#btnTest').removeAttr("disabled"); }, 30000); });
你可以禁用元素
$(element).prop('disabled', true);
点击后
我在初始点击函数中使用init clicked变量,否则如果条件在每次单击时始终为true。
不使用jQuery这段代码有效:
var clicked = false; function clickEvent() { if(!clicked) { clicked = true; console.log('clicked!!'); setTimeout(function(){ clicked = false; }, 3000); } }
这不起作用,因为单击的变量在函数范围内。 你需要关闭。 如果您想通过变量执行此操作,下面将有所帮助。 您也可以设置html5数据属性来处理相同的内容。
在这里工作JSFiddle
需要了解更多jQuery教程分享禁用多次点击JavaScript,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
window.onload = function() { initListener(); }; var initListener = function() { var clicked = false; document.getElementById('btn').addEventListener('click', function(event) { if (!clicked) { clicked = true; alert('Hi'); setTimeout(function() { clicked = false; }, 3000); } } ); }
以上就是jQuery教程分享禁用多次点击JavaScript相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/982700.html