Commit e1b940d7 authored by John Resig's avatar John Resig

We removed deleteExpando after 1.4.2, for some reason. This caused problems...

We removed deleteExpando after 1.4.2, for some reason. This caused problems with removeData() (no arguments). Fixes #7209.
parent 25828768
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
optSelected: opt.selected, optSelected: opt.selected,
// Will be defined later // Will be defined later
deleteExpando: true,
optDisabled: false, optDisabled: false,
checkClone: false, checkClone: false,
scriptEval: false, scriptEval: false,
...@@ -91,6 +92,15 @@ ...@@ -91,6 +92,15 @@
delete window[ id ]; 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 ); root.removeChild( script );
if ( div.attachEvent && div.fireEvent ) { if ( div.attachEvent && div.fireEvent ) {
......
...@@ -284,11 +284,16 @@ test(".data(Object)", function() { ...@@ -284,11 +284,16 @@ test(".data(Object)", function() {
}); });
test("jQuery.removeData", function() { test("jQuery.removeData", function() {
expect(5); expect(7);
var div = jQuery("#foo")[0]; var div = jQuery("#foo")[0];
jQuery.data(div, "test", "testing"); jQuery.data(div, "test", "testing");
jQuery.removeData(div, "test"); jQuery.removeData(div, "test");
equals( jQuery.data(div, "test"), undefined, "Check removal of data" ); 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 = {}; var obj = {};
jQuery.data(obj, "test", "testing"); jQuery.data(obj, "test", "testing");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment