From: John Resig Date: Sun, 11 Jan 2009 16:17:20 +0000 (+0000) Subject: Fixed boxModel support - is now computed with feature detection, rather than sniffing. X-Git-Tag: 1.3rc1~8 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7346a476cc1fe20612fb1e9b08faef27e36a962c;p=jquery.git Fixed boxModel support - is now computed with feature detection, rather than sniffing. --- diff --git a/Makefile b/Makefile index 351342efb..33efcea7e 100644 --- a/Makefile +++ b/Makefile @@ -10,9 +10,9 @@ PLUG_DIR = ../plugins BASE_FILES = ${SRC_DIR}/core.js\ ${SRC_DIR}/data.js\ - ${SRC_DIR}/support.js\ ${SRC_DIR}/selector.js\ ${SRC_DIR}/event.js\ + ${SRC_DIR}/support.js\ ${SRC_DIR}/ajax.js\ ${SRC_DIR}/fx.js\ ${SRC_DIR}/offset.js\ diff --git a/src/core.js b/src/core.js index 24438e36b..78f2bcd14 100644 --- a/src/core.js +++ b/src/core.js @@ -1146,9 +1146,6 @@ jQuery.browser = { mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) }; -// Check to see if the W3C box model is being used -jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat"; - jQuery.each({ parent: function(elem){return elem.parentNode;}, parents: function(elem){return jQuery.dir(elem,"parentNode");}, diff --git a/src/support.js b/src/support.js index bacc5bd4e..b89a9d73f 100644 --- a/src/support.js +++ b/src/support.js @@ -53,7 +53,8 @@ // Will be defined later scriptEval: false, - noCloneEvent: true + noCloneEvent: true, + boxModel: null }; script.type = "text/javascript"; @@ -83,6 +84,17 @@ 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 = "1px"; + div.style.paddingLeft = "1px"; + + document.body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + document.body.removeChild( div ); + }); })(); var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";