0

当在 DOM 中添加特定节点时,有什么方法可以通知我?

我有一个适用于所有输入文本字段的功能。当 DOM 被加载时,我使用 getElementByTagName() ,然后使用仅文本的类型属性进行过滤,并将该函数应用于所有这些属性。

但问题是,当有人添加新节点时,必须通知我将该功能应用于新添加的字段。

我想要类似 jQuery live() 函数的东西,但是在 javascript 中。

是否有任何特定的侦听器可以在添加输入标签时收听并得到通知?

4

2 回答 2

1

您可以DOMNodeInserted为此使用突变事件。

文档: https ://developer.mozilla.org/en-US/docs/DOM/Mutation_events

于 2012-10-16T10:48:04.603 回答
1

DOMInserted Mutation Event目前已被弃用,因为它的性能问题。因此,请使用 Mutation Observer。我使用 Mutation Observer 在我的一个项目中处理了 DOM 添加、删除、插入、属性和数据更改的 DOM 更改侦听器,效果很好!为了您的进一步实施,这些链接将帮助您:

  1. http://gabrieleromanato.name/jquery-detecting-new-elements-with-the-mutationobserver-object/
  2. https://github.com/kapetan/jquery-observe
  3. 是否有 JavaScript/jQuery DOM 更改监听器?
于 2014-07-04T11:08:52.473 回答