我有一个附有jquery点击的图像
<img src=pic.gif id="action">
和一些jquery
$("#action").click(function(){
alert("DONE");
});
我如何编辑它以使动作函数在运行后的x秒内无法运行?假如我想在每次点击后将其禁用5秒钟。
答案 0 :(得分:3)
您可以将函数存储在变量中。在那个解开事件并再次附加它。这样可以确保它只在经过一段时间后才会运行..
试试这个
var click = function() {
$("#action").click(function() {
alert("DONE");
// Unbind the event
$('#action').unbind();
// Call the function after 2 second delay
setTimeout(function() {
click();
}, 2000);
});
};
click();
选中此DEMO
答案 1 :(得分:0)
这只是一个示例,您可能需要查看Namespaced Events以防止取消绑定所有click
处理程序。
var action_click = function(){
var $self = $(this);
alert("done"); // do your thing
$self.unbind('click'); // unbind the click handler
// rebind the handler after 5 second delay
setTimeout(function(){
$self.click(action_click);
}, 5000);
};
// setup initial click handler
$('#action').click(action_click);
示例Fiddle