Javascript 如何在从隐藏div动态复制的附加按钮上添加eventListener?

Javascript 如何在从隐藏div动态复制的附加按钮上添加eventListener?,javascript,html,css,Javascript,Html,Css,document.getElementById('btn1')。addEventListener(“单击”,函数(){ document.getElementById('div2').innerHTML=document.getElementById('hidden-div').innerHTML; }); document.getElementById('btn2')。addEventListener(“单击”,函数(){ document.getElementById('div-main')

document.getElementById('btn1')。addEventListener(“单击”,函数(){
document.getElementById('div2').innerHTML=document.getElementById('hidden-div').innerHTML;
});
document.getElementById('btn2')。addEventListener(“单击”,函数(){
document.getElementById('div-main')。innerHTML=“”;
});

此处已修复

document.getElementById('btn1')。addEventListener(“单击”,函数(){
document.getElementById('div2').innerHTML=document.getElementById('hidden-div').innerHTML;
document.getElementById('btn2')。addEventListener(“单击”,函数(){
document.getElementById('div-main')。innerHTML=“”;
});
});



getElementById('hidden-div')。innerHTML
返回一个
字符串,而不是DOM元素。该字符串被传递到
#div2
并解析为新的DOM元素,这意味着最初绑定的事件不再绑定在

事实上,
innerHTML
是在没有任何绑定事件的情况下复制HTML的常用方法

要保留活动,您有两个选项:

  • 将其绑定到
    #div2
    而不是按钮
  • 或者不要破坏
    。相反,使用
绑定到
#div2

document.getElementById('btn1')。addEventListener(“单击”,函数(){
document.getElementById('div2').innerHTML=document.getElementById('hidden-div').innerHTML;
});
document.getElementById('div2')。addEventListener(“单击”,函数(){
document.getElementById('div-main')。innerHTML=“”;
});

@异教徒,这不是骗局。当前问题未使用jQuery,因此未提供正确答案。