2016-10-23 165 views
0

我在onload函数中创建动态按钮。按钮已创建,但alertfunc也调用onload。onload触发onclick事件

,但我设置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?

+2

'FUNC alertfunc()'< - 你确定,在所有的作品? – adeneo

+0

和 - > https://jsfiddle.net/2dnbjn55/ – adeneo

+0

http://jsbin.com/dohagoc/1/edit?html,js,output - 修复语法错误后,我无法重现该问题。 – Quentin

回答

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'); 
 
}

希望这有助于

+0

你救我一天!它的工作正常 – User