如何防止我的按钮点击 5 秒
How to prevent my button's onclick for 5 seconds
我有这样的东西:
<button id="button" onclick="alert('Hi')">a button</button>
我想停用按钮点击操作,比如说页面加载后的 5 秒。
注意:我不想禁用按钮,只是希望它的点击操作直到 5 秒才起作用。
您只需删除 onclick
属性,然后在 5 秒后将其放回原处即可。
var onClickFunc = $('#button').prop('onclick');
$('#button').removeProp('onclick');
setTimeout(function(){
$('#button').click(onClickFunc);
}, 5000);
演示:http://jsfiddle.net/KX5g7/1/
使用 jQuery 在超时 5 秒后绑定事件。
setTimeout(function(){
$('#button').click(function(){
alert('Hi');
});
}, 5000);
$(function(){
$('#button').attr('savedclick', $('#button').attr('onclick')).removeAttr('onclick');
setTimeout(enableButton, 5000);
});
function enableButton(){
$('#button').attr('onclick', $('#button').attr('savedclick')).removeAttr('savedclick');
}
演示
$(function(){
$('#button').unbind('click');
setTimeout(function(){
$('#button').bind('click');
}, 5000);
});
编辑:
这似乎并没有像 Rocket 所说的那样解除事件的绑定,所以,我认为一个好的解决方案可能是删除触发事件的属性:
$(function(){
$('#button').attr('onclick', '');
setTimeout(function(){
$('#button').attr('onclick', 'alert("Hi")');
}, 5000);
});
为此,不要将onclick
内联。
在$(document).ready(...)
函数中,使用 setTimeout
等待 5 秒,并使用回调函数设置 onclick ( $('#button').click(function(btn) { alert('Hi'); });
)
相关文章:
- 如何防止多个ajax查询在“;prev“;按钮被点击多次
- 如何防止 jQuery-UI 按钮集破坏 AngularJS 绑定
- 如何防止按钮在未选择值时提交表单.不使用javascript
- 我该怎么做才能防止在用户单击后退按钮时出现咆哮消息
- 脸书如何防止触发点赞按钮的自动点击
- 可点击按钮表的问题,需要防止双击聚焦按钮,同时保持以下按钮可点击
- JavaScript:如何防止双击或禁用按钮
- 单选按钮和复选框.防止更改值属性
- javascript/jquery禁用点击提交按钮,防止重复提交
- JQuery-防止表单在输入按钮上提交,out防止按键敲击
- 防止在后退按钮上进行hashchange
- 如何防止所选单选按钮触发更改事件
- 如何防止用户为每种情况选择单选按钮
- 如何在未单击单选按钮时防止表单提交
- 欧芹:如何在按下提交以外的按钮时防止验证
- 如何禁用链接按钮以防止多次提交
- 引导折叠按钮如何防止两个折叠显示
- 如何表达你的真诚和信任?标签上的点击按钮,防止页面刷新
- 在单击按钮时防止表tr可单击行
- Skype按钮:如何防止垂直空间