繁体   English   中英

setTimeout()开始onload而不是onclick。 单击后如何才能启动它?

[英]setTimeout() starts onload instead of onclick. How do I get it to start only after I click it?

我试图让setTimeout()函数仅在单击按钮后才启动,而不是在页面加载时启动。 这是我的代码:

function convert() {
'use strict';
var utcDate = new Date();
var message;
var output = document.getElementById('output2');
message = 'today is ' + utcDate.toUTCString(); 
if (output.textContent !== undefined) {
    output.textContent = message;
} else {
    output.innerText = message;
}
document.getElementById('output2').value = message;
}
button.onclick = setTimeout(convert, 5000);

如果要开始单击该按钮。 比您这应该是这样:

button.onclick = function() { setTimeout(convert, 5000); }

更改

button.onclick = setTimeout(convert, 5000);

button.onclick = function () { setTimeout(convert, 5000);}

或者如果您已经在为其他内容加载库,则可以使用jQuery

$('#idOfButton').click(function () { setTimeout(convert, 5000);});  //more efficient than $.on()

或使用jQuery的另一种方式

$('#idOfButton').on('click', function () { setTimeout(convert, 5000); });

与编程中的许多任务一样,有许多方法可以完成您的任务

button.onclick = function(){setTimeout(convert, 5000);}

您需要将setTimeout部分放入函数中。 所以最后一行看起来像

button.onclick = function(){setTimeout(convert,5000)}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM