我有一个附加了 jquery 点击的图像
<img src=pic.gif id="action">
和一些jQuery
$("#action").click(function(){
alert("DONE");
});
我该如何编辑它,以使动作函数在运行后 x 秒内无法运行?假设我希望在每次单击后将其禁用 5 秒。
我有一个附加了 jquery 点击的图像
<img src=pic.gif id="action">
和一些jQuery
$("#action").click(function(){
alert("DONE");
});
我该如何编辑它,以使动作函数在运行后 x 秒内无法运行?假设我希望在每次单击后将其禁用 5 秒。
您可以将函数存储在变量中。在那解除绑定事件并再次附加它。这确保它只会在时间段过去后运行..
试试这个
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();
检查此演示
这只是一个示例,您可能希望查看命名空间事件以防止取消绑定所有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);
示例小提琴