Javascript 是否有一种方法可以在HTML元素出现在页面上时立即将事件处理程序附加到该元素。
我不想等到整个HTMLDOM准备就绪。请注意,我不是在谈论动态加载的HTML元素。我说的是HTML中的元素,但尚未呈现。三个想法:Javascript 是否有一种方法可以在HTML元素出现在页面上时立即将事件处理程序附加到该元素。,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我不想等到整个HTMLDOM准备就绪。请注意,我不是在谈论动态加载的HTML元素。我说的是HTML中的元素,但尚未呈现。三个想法: 在HTML中使用属性,如onclick=“foo()”。这将立即生效 您可以在HTML中嵌入的HTML元素之后立即放置一个标记,并让该脚本添加事件处理程序。位于脚本之前的所有DOM元素都保证被解析并准备就绪 您可以通过最初隐藏元素(内联样式规范或CSS),然后等待它出现在DOM中,运行脚本安装事件处理程序,然后使对象可见。如果使用visibility:hidden,
onclick=“foo()”
。这将立即生效
标记,并让该脚本添加事件处理程序。位于脚本之前的所有DOM元素都保证被解析并准备就绪visibility:hidden
,则文档将按常规布局,并且在安装事件处理程序后,可以使内容变为visibility:visible
当解析DOM元素时,浏览器不提供事件,但还不可见,这将为您提供在该时刻对其进行操作的机会,因此您必须使用这些其他方法之一解决问题。您必须等待document.body呈现 在那之后,任何事情都可以这样做
var ele = document.createElement("div");
ele.onclick = function(e){...};
document.body.appendChild(ele);
OP说这不是动态HTML元素,而是页面HTML中的元素。