我有一个页面,在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);
});
请让我知道问题是什么。
请注意-尽管我为domReady使用了dojo函数,但我实际上并不知道任何dojo,因此更喜欢使用香草JS。我也无权访问任何其他库。
我也无权访问标记或AJAX请求功能
最佳答案
您需要传递一个函数引用:
setTimeout(function() {changeRestrictionTime('12:00 pm')}, 5000);
您正在立即执行该函数并传递其返回值。