Adding a tweak to prevent layout breaks in the boxModel check on IE 6. Fixes bug...
[jquery.git] / src / support.js
index c334e78..b11f847 100644 (file)
@@ -8,7 +8,7 @@
                id = "script" + (new Date).getTime();
 
        div.style.display = "none";
-       div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param></object>';
+       div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
 
        var all = div.getElementsByTagName("*"),
                a = div.getElementsByTagName("a")[0];
                // (IE uses styleFloat instead of cssFloat)
                cssFloat: !!a.style.cssFloat,
 
-               // Verify tabindex attribute existence
-               // (IE uses tabIndex instead of tabindex)
-               tabindex: !a.getAttributeNode('tabindex'),
-
                // Will be defined later
                scriptEval: false,
-               noCloneEvent: true
+               noCloneEvent: true,
+               boxModel: null
        };
        
        script.type = "text/javascript";
                div.cloneNode(true).fireEvent("onclick");
        }
 
+       // Figure out if the W3C box model works as expected
+       // document.body must exist before we can do this
+       jQuery(function(){
+               var div = document.createElement("div");
+               div.style.width = div.style.paddingLeft = "1px";
+
+               document.body.appendChild( div );
+               jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
+               document.body.removeChild( div ).style.display = 'none';
+       });
 })();
 
 var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";
@@ -101,5 +108,5 @@ jQuery.props = {
        maxlength: "maxLength",
        cellspacing: "cellSpacing",
        rowspan: "rowSpan",
-       tabindex: jQuery.support.tabindex ? "tabindex" : "tabIndex"
+       tabindex: "tabIndex"
 };