我会在执行前使用触发器方法延迟,我尝试这样:
$('#open-contact').delay(3000).trigger('click');
但代码会立即运行。
你们中有人可以帮助我吗?
非常感谢
答案 0 :(得分:15)
jQuery doc says:
.delay()方法最适合延迟排队的jQuery效果。因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例。
所以,我会把它重写为
setTimeout(function() {
$('#open-contact').trigger('click');
}, 3000);
答案 1 :(得分:5)
关于延迟的jQuerys文档:
.delay()方法最适合延迟排队的jQuery效果。因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例。
换句话说,你应该使用setTimeout(),即:
setTimeout(function () { $('#open-contact').trigger('click'); }, 3000);
答案 2 :(得分:5)
尝试:
$('#open-contact').delay(3000).queue(function() {
$(this).trigger('click');
});