UserDataHandler - Node.setUserData() 的参数的处理程序

已过时 Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2)
此功能已过时。虽然它可能仍在某些浏览器中工作,但是不鼓励使用,因为它可能随时被删除。尽量避免使用它。

概要

调用 Node.setUserData() 将用户数据与节点上的键关联时,可以在其第三个参数中接受一个处理程序,当克隆,导入,删除,重命名或采用该对象时,该处理程序将被调用。根据规范,不应在 UserDataHandler 中抛出异常。在 document.importNode()Node.cloneNode() 中,尽管未复制用户数据,但是仍会调用该处理程序。

属性

无。

方法

handle (operation, key, data, src, dst) (无返回值)

如果要克隆,导入,重命名以及删除或采用某个节点,则将调用此方法。

  • operation (unsigned short) 是操作类型(请参见下文)。
  • key (DOMString) 是用户的键。
  • data (DOMUserData) 是用户数据。
  • src (Node) 是源节点(如果删除则为 null)。
  • dst (Node) 是目标节点(如果没有则为 null)。

常量

常量 操作
NODE_CLONED 1 Node.cloneNode()
NODE_IMPORTED 2 Document.importNode()
NODE_DELETED 未实现 (查看 Mozilla bug 550400) 3 -
NODE_RENAMED 未实现 4 Node.renameNode()
NODE_ADOPTED 5 Document.adoptNode()

(由于不支持 Node.renameNode(),因此目前不支持 NODE_RENAMED。)

规范

DOM Level 3 Core: UserDataHandler

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 不支持 不支持4 — 22 未知 不支持 不支持
handle 不支持 不支持4 — 22 未知 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持 不支持 未知4 — 22 未知 不支持 不支持
handle 不支持 不支持 未知4 — 22 未知 不支持 不支持

相关链接