X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fsupport.js;h=d35dbed2d847cbed0d346dd35d20dd9642124b32;hb=0be7f4eb4f027dce00f11d7816290022d447d336;hp=f9429f956dedd8146b057cf36e81dc948d25cb35;hpb=dcf0fa5048ef2379d551f29ffa29b14ec5ee09d5;p=jquery.git diff --git a/src/support.js b/src/support.js index f9429f9..d35dbed 100644 --- a/src/support.js +++ b/src/support.js @@ -1,3 +1,5 @@ +(function( jQuery ) { + (function() { jQuery.support = {}; @@ -5,13 +7,15 @@ var root = document.documentElement, script = document.createElement("script"), div = document.createElement("div"), - id = "script" + now(); + id = "script" + jQuery.now(); div.style.display = "none"; div.innerHTML = "
a"; var all = div.getElementsByTagName("*"), - a = div.getElementsByTagName("a")[0]; + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ); // Can't get basic test support if ( !all || !all.length || !a ) { @@ -54,22 +58,25 @@ // Make sure that a selected-by-default option has a working selected property. // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected, - - parentNode: div.removeChild( div.appendChild( document.createElement("div") ) ).parentNode === null, + optSelected: opt.selected, // Will be defined later - deleteExpando: true, + optDisabled: false, checkClone: false, scriptEval: false, noCloneEvent: true, boxModel: null }; + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + script.type = "text/javascript"; try { script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); - } catch( scriptError ) {} + } catch(e) {} root.insertBefore( script, root.firstChild ); @@ -81,15 +88,6 @@ 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( expandoError ) { - jQuery.support.deleteExpando = false; - } - root.removeChild( script ); if ( div.attachEvent && div.fireEvent ) { @@ -120,7 +118,6 @@ document.body.appendChild( div ); jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; document.body.removeChild( div ).style.display = 'none'; - div = null; }); @@ -159,3 +156,5 @@ jQuery.props = { usemap: "useMap", frameborder: "frameBorder" }; + +})( jQuery );