網站搜尋

在 JavaScript 中為新添加的元素添加 onclick 事件


我一直在嘗試為我用 JavaScript 新增的元素添加 onclick 事件。

問題是當我檢查 document.body.innerHTML 時,我實際上可以看到 onclick=alert('blah') 已經被添加到新元素上。

但是當我點擊那個元素時,我沒有看到警告框運作。事實上,任何與 JavaScript 相關的東西都不起作用。

這是我用來添加新元素的方法:

function add_img() { 
  var elemm = document.createElement('rvml:image'); 
  elemm.src = 'blah.png';
  elemm.className = 'rvml';
  elemm.onclick = "alert('blah')";
  document.body.appendChild(elemm);
  elemm.id = "gogo";
  elemm.style.position='absolute';
  elemm.style.width=55;
  elemm.style.height=55;
  elemm.style.top=200;
  elemm.style.left=300;
  elemm.style.rotation=200; 
}

這是我如何呼叫這個函數的方式:

<button onclick=add_img()>add image</button>

現在圖像在瀏覽器中完美顯示。但是當我點擊圖像時,我沒有收到那個提示。

答案#1

.onclick 應該設置為一個函數,而不是字串。試試看

elemm.onclick = function() { alert('blah'); };

相反。

答案#2

你也可以設定屬性:

elem.setAttribute("onclick","alert('blah');");

答案#3

不確定,但試試看:

elemm.addEventListener('click', function(){ alert('blah');}, false);

答案#4

你不能用字串指派事件。請使用這個:

elemm.onclick = function(){ alert('blah'); };