无论如何要监听加载后将自己添加到 DOM 的元素吗?目前,我有一堆使用 DataTables 的表,还有一堆其他元素,我想在何时以及是否发现我正在寻找的元素类型“出现”在页面上时进行操作。看到我正在尝试做的事情只适用于加载时页面上当前的元素,而不是加载后的元素,例如当前正在播放的许多元素。
最终,我目前正在寻找一种避免返回整个代码库的方法,只是为了仅在页面上找到某些内容但在加载之后才发生某些事情。
无论如何要监听加载后将自己添加到 DOM 的元素吗?目前,我有一堆使用 DataTables 的表,还有一堆其他元素,我想在何时以及是否发现我正在寻找的元素类型“出现”在页面上时进行操作。看到我正在尝试做的事情只适用于加载时页面上当前的元素,而不是加载后的元素,例如当前正在播放的许多元素。
最终,我目前正在寻找一种避免返回整个代码库的方法,只是为了仅在页面上找到某些内容但在加载之后才发生某些事情。
没有跨浏览器兼容的“添加到 dom 的元素”类型的事件,并且通常不鼓励针对特定浏览器存在的事件,因为它们往往会导致比解决的问题更多的问题。
通常 DOM 中不存在的元素的问题是它们错过了事件绑定。jQuery 有很棒的事件委托,可用于将事件绑定到容器,以便当事件冒泡到容器时,在接收事件的元素的上下文中触发回调。
例如,您可以使用以下方式绑定事件:
$('a').click(doStuff);
但这不适用于任何新链接,而是您可以使用以下内容:
$('#some-container').on('click', 'a', doStuff);
这将拦截#some-container
元素中所有链接上的所有点击事件,无论它们何时添加到页面。