我创建一个元素,eltTooltip与document.createElement等,并把它添加到DOM这样的(idTooltip包含id的eltTooltip):
document.body.appendChild(eltTooltip);
var addedElt = document.getElementById(idTooltip);
addedElt.addEventListener("click", function(){...});
Run Code Online (Sandbox Code Playgroud)
是否click保证在此处添加事件,或者DOM可能尚未准备好?
我能以更好的方式做到这一点吗?(页面很久以前window.onload就被加载了,所以无法使用.我不能在这里使用jQuery.)
你的方式工作得非常好但是在使用事件监听器添加到DOM之前附加事件监听器可能更好eltTooltip.这样可以避免从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);
Run Code Online (Sandbox Code Playgroud)