我有一个页面,只要dom在页面加载时准备好就运行一个函数。然后我想在用户点击链接时再次触发它,但是第二次运行它我希望它暂停几秒钟。
我已经尝试了以下功能并且该功能正在运行,但超时并没有。
function changeRestrictionTime(time) {
// DO STUFF
}
require(["dojo/domReady!"], function(){
changeRestrictionTime('12:00 pm');
var next7 = document.getElementById('next-7days');
next7.addEventListener('click', function() {
setTimeout(changeRestrictionTime('12:00 pm'), 5000);
}, false);
});
请告诉我这是什么问题。
请注意 - 虽然我使用djoReady的dojo功能,但我实际上并不知道任何道场,所以我更喜欢坚持使用vanilla JS。我也无法访问任何其他图书馆。 我也无法访问标记或AJAX请求函数
答案 0 :(得分:4)
您需要传递函数参考:
setTimeout(function() {changeRestrictionTime('12:00 pm')}, 5000);
您正在立即执行该函数并传递其返回值。