Javascript 按钮上的侦听器不工作

Javascript 按钮上的侦听器不工作,javascript,dom,event-listener,tampermonkey,Javascript,Dom,Event Listener,Tampermonkey,我创建了这个片段: function addClick(button, container) { console.log("In add click"); const data = container.nextElementSibling.childNodes[0].innerHTML; button.addEventListener('click', ()=>{ alert('clicked') console.

我创建了这个片段:

function addClick(button, container) {
    console.log("In add click");
    const data = container.nextElementSibling.childNodes[0].innerHTML;
    button.addEventListener('click', ()=>{
        alert('clicked')
        console.log("Clicked");
    })
}

function createCopyButtons(array){
    array.forEach(element => {

        const container = document.createElement('div');
        const button = document.createElement('button');

        button.innerHTML = "Copy"
        
        styleContainer(container);
        styleButton(button, element);
        stylePrevious(element);
        
        container.innerHTML = element.outerHTML + button.outerHTML;

        element.parentNode.replaceChild(container, element);

        addClick(button, container); 

    });
}
现在在这里,数组是DOM元素的数组,我希望应用这个属性,然后我调用createCopyButtons()函数并添加一些其他内容。现在的问题是,此事件侦听器不适用或不工作。我试图等待文档被这些答案加载,然后才应用我的javascript片段,但事件侦听器似乎无法工作

document.addEventListener("DOMContentLoaded", function(event) { 
  //do work
});

if (document.readyState == "complete") {
     // document is ready. Do your stuff here
   }
请提供帮助。

更新:

功能添加点击(按钮){
按钮。addEventListener('单击',()=>{
控制台日志(“单击”);
})
}
设p=document.querySelectorAll('p');
//innerHTML不起作用
让btn1=document.createElement('button');
btn1.innerHTML=“不工作”;
p[0].innerHTML=btn1.outerHTML;
添加单击(btn1)
//工作
设btn2=document.createElement('button');
btn2.innerHTML=“工作”;
p[1].appendChild(btn2);
添加单击(btn2)


先生,这不像是我在容器上添加了按钮,然后添加到DOM,然后我已经有了对对象按钮的引用,所以我获取该引用并设置属性onclick?为什么错了?请重新阅读我答案中的第一段,换句话说,您需要像
container.appendChild(按钮)
来制作
addClick(按钮,容器)工作很抱歉,但我还是不明白。如果我把它作为一个内部html并绑定一个事件监听器,那么我做错了什么?如果你把它作为一个内部html,它只复制一个元素的文本,而不复制事件监听器。答案更新了,我在上面加了一个例子。谢谢你,先生。