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,因此未提供正确答案。