我在頁面上動態創建和刪除元素「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. JQuery:在動態創建的元素上添加事件處理程序(動畫)
- 3. 在動態添加的元素的onclick處理函數中引用JavaScript函數
- 4. 附加事件處理程序動態添加元素
- 5. 綁定單擊處理程序動態創建的DOM元素
- 6. 動態創建元素的事件處理程序?
- 7. 添加事件處理程序,以新創建的元素
- 8. 動態創建元素並添加onclick事件不起作用
- 9. 添加onclick事件動態創建元素
- 10. 如何將javascript附加到動態創建的元素?
- 11. jquery將點擊事件添加到動態創建的元素
- 12. 如何將類添加到動態創建的元素?
- 13. jQuery將類添加到動態創建的元素
- 14. 將動態構建的元素添加到另一個動態構建元素
- 15. 將事件處理程序添加到純React組件中?
- 16. jQuery不執行綁定到動態創建的元素的處理程序
- 17. 如何在創建新元素時將點擊處理程序添加到新元素中?
- 18. 將onClick處理程序添加到列表項中查看
- 19. 如何在javascript中添加onclick事件以創建新元素
- 20. jQuery的:預引用元素處理爲動態添加元素
- 21. 如何將動作添加到在jquery中動態創建的元素中?
- 22. Javascript DOM - 將表單元素添加到新創建的appendChild中?
- 23. 在Iframe元素中添加動態元素比我創建
- 24. 附加事件處理程序到動態創建TreeViewItems
- 25. 添加處理程序到動態創建的上下文菜單
- 26. 如何將JavaScript onClick處理程序添加到嵌入的html對象?
- 27. 動態添加事件處理程序
- 28. C#創建動態按鈕和onClick動態事件處理程序
- 29. 使用上()將事件處理程序附加到將動態創建
- 30. 將onClick事件處理程序添加到Silverlight控件?
這是香草的JS文檔:HTTP ://www.w3schools.co m/js/js_htmldom_eventlistener.asp – Fefux
看到這篇文章:http://stackoverflow.com/questions/6956258/adding-onclick-event-to-dynamically-added-button –