Data: Work around IE11 bug with onpageshow attribute

Fixes #14894
(cherry picked from commit b8133e282c)

Conflicts:
	src/data.js
	test/unit/data.js
This commit is contained in:
Dave Methvin
2014-04-30 10:43:39 -04:00
parent f833c9af57
commit 062a7d63e4
3 changed files with 30 additions and 5 deletions

View File

@@ -287,12 +287,15 @@ jQuery.fn.extend({
if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
i = attrs.length;
while ( i-- ) {
name = attrs[i].name;
if ( name.indexOf("data-") === 0 ) {
name = jQuery.camelCase( name.slice(5) );
dataAttr( elem, name, data[ name ] );
// Support: IE11+
// The attrs elements can be null (#14894)
if ( attrs[ i ] ) {
name = attrs[ i ].name;
if ( name.indexOf( "data-" ) === 0 ) {
name = jQuery.camelCase( name.slice(5) );
dataAttr( elem, name, data[ name ] );
}
}
}
jQuery._data( elem, "parsedAttrs", true );