We removed deleteExpando after 1.4.2, for some reason. This caused problems with removeData() (no arguments). Fixes #7209.

This commit is contained in:
John Resig 2010-10-17 10:56:01 -04:00
parent 25828768d7
commit e1b940d748
2 changed files with 16 additions and 1 deletions

View file

@ -61,6 +61,7 @@
optSelected: opt.selected,
// Will be defined later
deleteExpando: true,
optDisabled: false,
checkClone: false,
scriptEval: false,
@ -91,6 +92,15 @@
delete window[ id ];
}
// Test to see if it's possible to delete an expando from an element
// Fails in Internet Explorer
try {
delete script.test;
} catch(e) {
jQuery.support.deleteExpando = false;
}
root.removeChild( script );
if ( div.attachEvent && div.fireEvent ) {

View file

@ -284,11 +284,16 @@ test(".data(Object)", function() {
});
test("jQuery.removeData", function() {
expect(5);
expect(7);
var div = jQuery("#foo")[0];
jQuery.data(div, "test", "testing");
jQuery.removeData(div, "test");
equals( jQuery.data(div, "test"), undefined, "Check removal of data" );
jQuery.data(div, "test2", "testing");
jQuery.removeData( div );
ok( !jQuery.data(div, "test2"), "Make sure that the data property no longer exists." );
ok( !div[ jQuery.expando ], "Make sure the expando no longer exists, as well." );
var obj = {};
jQuery.data(obj, "test", "testing");