如何使用DOM操作为多个按钮添加onclick属性



我试图使用DOM添加onclick属性到多个按钮。langButton.onclick = searchEngine(langButton);不向按钮添加属性,eventListener也不工作。我需要阅读被点击的特定按钮的文本,或者只是复制按钮在一起。下面是代码块:

for (j = 0; j < applications[i].languages.length; j++) {
let langButton = document.createElement('button');
langButton.classList.add('btn-secondary');
langButton.innerHTML = `${applications[i].languages[j]}`;
langButton.onclick = searchEngine(langButton);
// console.log(langButton.innerHTML);
langDiv.appendChild(langButton);
}

btn-secondary是一个Bootstrap类

function searchEngine(button) {
return button
}

返回按钮,但每次尝试设置onclick属性时运行。然后单击按钮后不返回任何内容。console.log(langButton.innerHTML)返回按钮的文本。

事件侦听器必须是一个函数。你是在调用函数,而不是赋值函数。

langButton.addEventListener("click", () => searchEngine(langButton));

最新更新