我想安排事件,这将触发并调用我预定义的回调
如何在js / jquery中安排:
答案 0 :(得分:6)
您希望一次性事件setTimeout
和重复事件setInterval
。
两者都有两个参数:一个函数和一个以毫秒为单位指定的时间间隔。
var delay_millis = 1500;
//will alert once, at least half a second after the call to setTimeout
var onceHandle = window.setTimeout(function() {
alert("Time has passed!");
}, delay_millis);
//will alert again and again
var repeatHandle = window.setInterval(function() {
alert("Am I annoying you yet?");
}, delay_millis);
奖励:如果您通过调用这些函数来保留返回的值,则可以在需要时取消回调。
var shutUpShutUp = function() {
window.clearInterval(repeatHandle);
};
shutUpShutUp(); //now I can hear myself think.
答案 1 :(得分:2)
jQuery与它无关。您需要JavaScript定时器:setTimeout()
和setInterval()
答案 2 :(得分:1)
仅使用setTimeout调用安排一次性事件。重复事件的一种简单方法是在您设置超时的函数中调用setTimeout。
答案 3 :(得分:0)
答案 4 :(得分:0)
您可以通过在jQuery中使用.one()将函数绑定到只运行一次的事件...
对于事件的时间阈值问题,请按以下方式声明您的事件:
var clickAvailable = true;
$('#element').click(function(e) {
if(!clickAvailable) {
clickAvailable = false;
//your code
setTimeout(function() {
clickAvailable = true;
}, 5*60*1000); // 5 minutes...
}
});