Landing the new expando management code. Completely overhauls how data is associated...
authorJohn Resig <jeresig@gmail.com>
Sat, 8 Sep 2007 23:31:23 +0000 (23:31 +0000)
committerJohn Resig <jeresig@gmail.com>
Sat, 8 Sep 2007 23:31:23 +0000 (23:31 +0000)
commit3a4e1233aa2acabee0d0267d54c2d1112fbdcad4
tree98f85f965029683df743bbbe93885f9f373dcdae
parent15a78f8fea8679205bc734ec053ff24ebbfd31c8
Landing the new expando management code. Completely overhauls how data is associated with elements.

Plugins will be most interested in:
- jQuery.data(elem) -> Unique ID for the element
- jQuery.data(elem, name) -> Named data store for the element
- jQuery.data(elem, name, value) -> Saves a value to the named data store
- jQuery.removeData(elem) -> Remove the expando and the complete data store
- jQuery.removeData(elem, name) -> Removes just this one named data store

jQuery's .remove() and .empty() automatically clean up after themselves. Once an element leaves a DOM document their events are no longer intact. Thus, statements like so:
{{{
  $("#foo").remove().appendTo("#bar");
}}}
should be written like so:
{{{
  $("#foo").appendTo("#bar");
}}}
in order to avoid losing the bound events.
src/core.js
src/event.js
src/selector.js
test/data/testrunner.js
test/unit/event.js