setTimeout()启动onload而不是onclick.如何在单击后才能启动它



我试图让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)}

最新更新