我在页面上动态创建和删除元素“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 –