2016-11-19 129 views
1

不能添加功能元素javascript無法添加「點擊」功能的JavaScript

功能modalbg.onclick不行div元素。

var modalbg = document.createElement("div"); 

document.body.appendChild(modalbg); // to place at end of document 
    modalbg.onclick(function() { 
     alert(); 
}) 

錯誤是:

(index):625 Uncaught TypeError: modalbg.onclick is not a function(…)

回答

3

你的語法:

modalbg.onclick(function() { 
      alert(); 
     }) 

是錯誤的,報告的錯誤消息明確地告訴你爲什麼這是錯的:onclick不是一個函數。

適當的語法,如果你必須使用onclick是:

modalbg.onclick = function() { 
     alert(); 
     }; 

雖然我強烈建議你從onclick事件處理器移開,並用EventTarget.addEventListener()而是給:

modalbg.addEventListener('click', alert); 

或者:

modalbg.addEventListener('click', function(){ 
    alert(); 
}); 

參考文獻:

+0

感謝大衛,這是語法問題。 謝謝:) – Radian

1

您還可以通過將Event Listener添加到DOM元素來實現此目的。

var modalbg = document.createElement("div"); 
 

 
     document.body.appendChild(modalbg); // to place at end of document 
 
     modalbg.innerHTML = "click me"; 
 
     modalbg.addEventListener('click', function() { 
 
      alert("Hai"); 
 
     })