Javascript 在动态创建的元素中单击事件
我是Javascript新手,每天都在学习新东西。 在这里,我需要点击按钮,新按钮被创建。现在,我需要再次点击新创建的按钮,再次创建新按钮,以此类推。它必须是纯Javascript的。请帮帮我Javascript 在动态创建的元素中单击事件,javascript,Javascript,我是Javascript新手,每天都在学习新东西。 在这里,我需要点击按钮,新按钮被创建。现在,我需要再次点击新创建的按钮,再次创建新按钮,以此类推。它必须是纯Javascript的。请帮帮我 document.getElementById("btn").addEventListener("click",function(e) { var btn=document.createElement("BUTTON"); var t=document.createTex
document.getElementById("btn").addEventListener("click",function(e) {
var btn=document.createElement("BUTTON");
var t=document.createTextNode("Click Me");
//Some code to click dynamically created element
btn.appendChild(t);
document.body.appendChild(btn);
创建一个函数来创建创建按钮的按钮。注意:您没有将文本节点附加到按钮 如果您想查看DOM中的更改并以另一种方式向按钮添加事件,请检查下面的答案
只需将eventlistener添加到文档中,然后选中标记。 您还可以通过向按钮添加Id或类来进一步解释它,并检查它(如果您需要多个执行不同操作的按钮)
document.addEventListener('click',函数(事件){
var clickedEl=event.target;
如果(单击del.tagName=='按钮'){
clickedEl.innerHTML=“单击!”;
var btn=document.createElement(“按钮”);
var t=document.createTextNode(“单击我”);
附肢儿童(t);
文件.正文.附件(btn);
}
});代码>
单击我
使其成为通用函数,并将单击事件绑定到该方法
功能添加按钮(){
var btn=document.createElement(“按钮”);
btn.type=“按钮”;
var t=document.createTextNode(“单击我”);
附肢儿童(t);
btn.addEventListener(“单击”,添加按钮);
文件.正文.附件(btn);
}
document.getElementById(“btn”).addEventListener(“单击”,添加按钮)代码>
按钮
在这种情况下,jQuery为您做好了工作
$(function($){
$(document).on('click','button',function(e){
// do your stuff.
})
})
下面是使用jQuery的另一个好答案:
因此您需要添加一个单击事件。如果你把它变成一个通用函数,那么重用它就容易多了。或者您可以了解事件委派。@epascarello是的,我需要单击动态创建的元素。但我不知道如何操作它。事件委派如何与动态创建的元素一起工作。请帮助答案是否提供了帮助?以及否决原因?我想提高自己,让你快乐+1,但请注意:document.body.addEventListener(“单击”…
)对性能不好,因为每次单击页面时,它都会检查某些元素的标记名是否等于数字476
,并且缺少大写的e.target.tagName
。
$(function($){
$(document).on('click','button',function(e){
// do your stuff.
})
})