Added $().data(), $().removeData(), and .bind("click!"). .data() and .removeData() handle namespaced data, .data() triggers a "set-KEY" event on all modified elements, and .bind("click!") only triggers a click (and no namespaced events).
This commit is contained in:
parent
25c76232c6
commit
77da94552e
3 changed files with 79 additions and 1 deletions
|
@ -1397,6 +1397,36 @@ test("$.data", function() {
|
|||
ok( jQuery.data(div, "test") == "overwritten", "Check for overwritten data" );
|
||||
});
|
||||
|
||||
test(".data()", function() {
|
||||
expect(11);
|
||||
var div = $("#foo");
|
||||
ok( div.data("test") == undefined, "Check for no data exists" );
|
||||
div.data("test", "success");
|
||||
ok( div.data("test") == "success", "Check for added data" );
|
||||
div.data("test", "overwritten");
|
||||
ok( div.data("test") == "overwritten", "Check for overwritten data" );
|
||||
|
||||
var hits = 0;
|
||||
|
||||
div
|
||||
.bind("set-test",function(){ hits += 1; })
|
||||
.bind("set-test.foo",function(){ hits += 2; })
|
||||
|
||||
div.data("test.foo", "foodata");
|
||||
ok( div.data("test") == "overwritten", "Check for original data" );
|
||||
ok( div.data("test.foo") == "foodata", "Check for namespaced data" );
|
||||
ok( div.data("test.bar") == "overwritten", "Check for unmatched namespace" );
|
||||
ok( hits == 2, "Check triggered functions" );
|
||||
|
||||
hits = 0;
|
||||
|
||||
div.data("test", "overwritten2");
|
||||
ok( div.data("test") == "overwritten2", "Check for original data" );
|
||||
ok( div.data("test.foo") == "foodata", "Check for namespaced data" );
|
||||
ok( div.data("test.bar") == "overwritten2", "Check for unmatched namespace" );
|
||||
ok( hits == 1, "Check triggered functions" );
|
||||
});
|
||||
|
||||
test("$.removeData", function() {
|
||||
expect(1);
|
||||
var div = $("#foo")[0];
|
||||
|
@ -1405,6 +1435,27 @@ test("$.removeData", function() {
|
|||
ok( jQuery.data(div, "test") == undefined, "Check removal of data" );
|
||||
});
|
||||
|
||||
test(".removeData()", function() {
|
||||
expect(6);
|
||||
var div = $("#foo");
|
||||
div.data("test", "testing");
|
||||
div.removeData("test");
|
||||
ok( div.data("test") == undefined, "Check removal of data" );
|
||||
|
||||
div.data("test", "testing");
|
||||
div.data("test.foo", "testing2");
|
||||
div.removeData("test.bar");
|
||||
ok( div.data("test.foo") == "testing2", "Make sure data is intact" );
|
||||
ok( div.data("test") == "testing", "Make sure data is intact" );
|
||||
|
||||
div.removeData("test");
|
||||
ok( div.data("test.foo") == "testing2", "Make sure data is intact" );
|
||||
ok( div.data("test") == undefined, "Make sure data is intact" );
|
||||
|
||||
div.removeData("test.foo");
|
||||
ok( div.data("test.foo") == undefined, "Make sure data is intact" );
|
||||
});
|
||||
|
||||
test("remove()", function() {
|
||||
expect(6);
|
||||
$("#ap").children().remove();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue