onclick事件在onload中触发

时间:2016-10-23 14:56:02

标签: javascript

我在onload函数中创建了动态按钮。按钮已创建,但 alertfunc 也调用了onload。

但我设置onclick事件以触发 alertfunc

window.onload = function () {
            var body1 = document.getElementsByTagName("body")[0];
            var btn = document.createElement("BUTTON");
            var t = document.createTextNode("Click Here");
            btn.appendChild(t);
            btn.setAttribute("class", "button");
            btn.setAttribute("id", "btnAssign");
            btn.setAttribute("name", "btnAssign");
            btn.setAttribute("onclick", "alertfunc()");
            body1.appendChild(btn);
}

func alertfunc()
{
   alert('test');
}

如何阻止 alertfunc 调用onload?

1 个答案:

答案 0 :(得分:1)

对代码进行这些更改

window.onload = function() {
  var body1 = document.getElementsByTagName("body")[0];
  var btn = document.createElement("BUTTON");
  var t = document.createTextNode("Click Here");
  btn.appendChild(t);
  btn.setAttribute("class", "button");
  btn.setAttribute("id", "btnAssign");
  btn.setAttribute("name", "btnAssign");
  btn.addEventListener("click", alertfunc);
  body1.appendChild(btn);
}

function alertfunc() {
  alert('test');
}

希望这有帮助