UserDataHandler

Obsolete since Gecko 26 (Firefox 26 / Thunderbird 26 / SeaMonkey 2.23 / Firefox OS 1.2)
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Summary

When associating user data with a key on a node, Node.setUserData() can also accept, in its third argument, a handler which will be called when the object is cloned, imported, deleted, renamed, or adopted. Per the specification, exceptions should not be thrown in a UserDataHandler. In both document.importNode() and Node.cloneNode(), although user data is not copied over, the handler will be called.

Properties

None.

Methods

handle (operation, key, data, src, dst) (no return value)

This method is a callback which will be called if a node is being cloned, imported, renamed and as well, if deleted or adopted.

  • operation (unsigned short) is an operation type integer (see below).
  • key (DOMString) is the user key.
  • data (DOMUserData) is the user data.
  • src (Node) is the source node (null if being deleted).
  • dst (Node) is the destination node (if any, or null).

Constants

Constant Value Operation
NODE_CLONED 1 Node.cloneNode()
NODE_IMPORTED 2 Document.importNode()
NODE_DELETED Unimplemented (see bug 550400) 3
NODE_RENAMED Unimplemented 4 Node.renameNode()
NODE_ADOPTED 5 Document.adoptNode()

(NODE_RENAMED is currently not supported since Node.renameNode() is not supported.)

Specification

DOM Level 3 Core: UserDataHandler

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
UserDataHandler
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 4 — 22IE ? Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 4 — 22Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
handle
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support 4 — 22IE ? Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support 4 — 22Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

No support
No support
Compatibility unknown
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

See also