Jquery如何阻止settimeout循环
jquery how to stop settimeout from looping
我想在我的页面加载后做一个触发点击一次,只有一次。许多帖子发誓settimeout只触发一次,但在我的情况下,它是无限的!这是我众多试验中的一个。
$( document ).ready(function() {
setTimeout(function() {
$("#btn1").trigger('click');
},1000);
});
我已经尝试将其移动到文档外部的函数中。准备好了,然后添加了clearartimeout,但是它完全停止了触发:
$( document ).ready(function() {
test();
});
function test() {
var t = setTimeout(function() {
$("#btn1").first().trigger('click');
},1000);
clearTimeout(t);
}
我做错了什么!?
在setTimeout()中使用clearTimeout()。在触发点击
后清除超时。$(document).ready(function() {
test();
});
function test() {
var t = setTimeout(function() {
$("#btn1").trigger('click');
clearTimeout(t);
}, 1000);
}
$("#btn1").on('click',function(){
console.log("Clicked");
});
小提琴:http://jsfiddle.net/6G4pR/
使用e.stopPropagation()
,这可能是因为事件冒泡。