我创建了一个元素,eltTooltip
, 与 document.createElement
等并将其添加到 DOM 中( idTooltip
包含 id
的 eltTooltip
):
document.body.appendChild(eltTooltip);
var addedElt = document.getElementById(idTooltip);
addedElt.addEventListener("click", function(){...});
是 click
保证会在此处添加事件,或者 DOM 可能还没有为此做好准备?
我能以更好的方式做到这一点吗? (该页面很久以前就加载了,所以 window.onload
无法使用。我不能在这里使用 jQuery。)
最佳答案
您的方法工作得很好,但最好在使用 eltTooltip
将事件监听器添加到 DOM 之前附加事件监听器。这使您无需从 DOM 中获取元素。
var idTooltip = 'test';
var eltTooltip = document.createElement('div');
eltTooltip.innerHTML = "test"
eltTooltip.setAttribute('id', idTooltip);
eltTooltip.addEventListener("click", function () {
alert('click');
});
document.body.appendChild(eltTooltip);
关于javascript - 在 appendChild 之后添加 EventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21292657/