2016-10-23 162 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