我在頁面上動態創建和刪除元素「a」和「按鈕」。我想在創建它們時向它們添加處理程序「onclick」。到目前爲止,我見過的所有例子都在jQuery中。我怎麼能在純JavaScript中做到這一點?將「onclick」處理程序添加到純javascript中的動態創建元素
-1
A
回答
0
您可以使用addEventListener
在動態按鈕上添加點擊偵聽器。
var btn = document.createElement("button");
btn.addEventListener('click', function(){
alert('button clicked!');
}, false);
document.body.appendChild(btn);
+0
爲什麼不「onclick」? – Kooooro
+0
要了解更多關於代表團,請查看這個答案http://stackoverflow.com/a/6348597/823369 –
0
這個例子將創建一個按鈕,文本並與test
的ID添加到一個元素。
var btn = document.createElement('button');
btn.appendChild(document.createTextNode('test'));
btn.addEventListener('click', function() {
alert('it works');
}, false);
document.getElementById('test').appendChild(btn);
希望這會幫助你。
0
來自:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
HTML內容
<table id="outside">
<tr><td id="t1">one</td></tr>
<tr><td id="t2">two</td></tr>
</table>
JavaScript內容
// Function to change the content of t2
function modifyText() {
var t2 = document.getElementById("t2");
if (t2.firstChild.nodeValue == "three") {
t2.firstChild.nodeValue = "two";
} else {
t2.firstChild.nodeValue = "three";
}
}
// add event listener to table
var el = document.getElementById("outside");
el.addEventListener("click", modifyText, false);
3
你可以這樣做:
for(var i=0;i<5;i++){
var a = document.createElement("a");
a.innerHTML="a"+i;
document.body.appendChild(a);
var button = document.createElement("button");
button.innerHTML="button"+i;
button.onclick = function(){
console.log("event on button");
}
document.body.appendChild(button);
}
相關問題
- 1. 如何使用純Javascript將動態創建的div添加到onclick函數中
- 2. 將事件處理程序添加到動態添加的元素
- 3. JQuery:在動態創建的元素上添加事件處理程序(動畫)
- 4. 在動態添加的元素的onclick處理函數中引用JavaScript函數
- 5. 將事件處理程序附加到使用普通JavaScript的類中動態創建的元素
- 6. 將事件處理程序附加到動態元素
- 7. 如何將jquery動畫添加到javascript中動態創建的div元素中
- 8. 附加事件處理程序動態添加元素
- 9. 動態創建元素的事件處理程序?
- 10. 動態創建元素的事件處理程序
- 11. 綁定單擊處理程序動態創建的DOM元素
- 12. 添加事件處理程序,以新創建的元素
- 13. jquery.on()事件處理程序不開火動態添加$元素
- 14. 添加onclick事件動態創建元素
- 15. 動態創建元素並添加onclick事件不起作用
- 16. 如何將javascript附加到動態創建的元素?
- 17. 將動態創建的表單元素添加到jquery.validate?
- 18. jQuery將類添加到動態創建的元素
- 19. jquery將點擊事件添加到動態創建的元素
- 20. 將工具提示添加到jQuery動態創建的元素
- 21. 不能將類添加到動態創建的元素
- 22. 如何將類添加到動態創建的元素?
- 23. JS - Onclick動態添加選項的處理程序在選擇
- 24. 將事件處理程序添加到純React組件中?
- 25. 將動態構建的元素添加到另一個動態構建元素
- 26. 如何在動態創建的元素中添加Javascript事件?
- 27. Onclick動態添加javascript到TD元素不起作用
- 28. jQuery不執行綁定到動態創建的元素的處理程序
- 29. 如何在創建新元素時將點擊處理程序添加到新元素中?
- 30. 將onClick處理程序添加到列表項中查看
這是香草的JS文檔:HTTP ://www.w3schools.co m/js/js_htmldom_eventlistener.asp – Fefux
看到這篇文章:http://stackoverflow.com/questions/6956258/adding-onclick-event-to-dynamically-added-button –