我希望仅在单击按钮时才调用alertMe函数,但是它会像页面加载一样被调用(setInterval被调用,哪个调用该调用)。但是如果我不使用pageLoad函数,那么startButton为null并且无法执行任何操作,谢谢!

/when user clicks start, start the animation
window.onload = pageLoad;

function pageLoad() {
    var startButton = document.getElementById("start");

    startButton.onclick = setInterval(alertMe,200);
}

function alertMe() {
  alert("hi");
}

最佳答案

function pageLoad() {
    var startButton = document.getElementById("start");

    startButton.onclick = alertMe;
}

function alertMe() {
  setInterval(function(){
    alert("hi");
  },200);
}

将间隔移动到alertMe函数中,并将其作为对startButton.onclick的引用

演示:http://jsfiddle.net/gHS4a/

关于javascript - setInterval()如何与button.onclick一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15606480/

10-13 04:16