aboutsummaryrefslogtreecommitdiffstats
path: root/src/jquery
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2007-08-21 05:43:44 +0000
committerJohn Resig <jeresig@gmail.com>2007-08-21 05:43:44 +0000
commitb6d920cf05fae3dcfe515166013ce39411ac5e16 (patch)
tree8c7e1879e92f4b7de49a3ca8398b2f96de61730f /src/jquery
parent8c15e852a4614ba5a5100e1c6e8a833c39b4ca79 (diff)
downloadjquery-b6d920cf05fae3dcfe515166013ce39411ac5e16.tar.gz
jquery-b6d920cf05fae3dcfe515166013ce39411ac5e16.zip
Fix for a selector speed regression (calling a simple selector many times resulted in a significant speed down). This has been fixed by breaking the RegExps out into the global scope. This required that a closure be implemented around the full jQuery script (which is now the case). Some simple changes were made in addition to the RegExp one, allowing for some greater flexibility on our part - and hopefully better compression.
Speed results: http://dev.jquery.com/~john/ticket/1351/ vs. http://dev.jquery.com/~john/ticket/1351/113.html vs. http://dev.jquery.com/~john/ticket/1351/112.html
Diffstat (limited to 'src/jquery')
-rw-r--r--src/jquery/jquery.js54
1 files changed, 26 insertions, 28 deletions
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 1d2e19797..8089e4e6b 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -9,9 +9,6 @@
* $Rev$
*/
-// Global undefined variable
-window.undefined = window.undefined;
-
/**
* Create a new jQuery Object
*
@@ -22,7 +19,7 @@ window.undefined = window.undefined;
* @param jQuery|Element|Array<Element> c context
* @cat Core
*/
-var jQuery = function(a,c) {
+window.jQuery = function(a,c) {
// If the context is global, return a new object
if ( window == this || !this.init )
return new jQuery(a,c);
@@ -35,7 +32,7 @@ if ( typeof $ != "undefined" )
jQuery._$ = $;
// Map the jQuery namespace to the '$' one
-var $ = jQuery;
+window.$ = jQuery;
/**
* This function accepts a string containing a CSS or
@@ -1527,7 +1524,7 @@ jQuery.extend({
}
if (prop.match(/float/i))
- prop = jQuery.styleFloat;
+ prop = styleFloat;
if (!force && elem.style[prop])
ret = elem.style[prop];
@@ -1940,29 +1937,31 @@ jQuery.extend({
* @type Boolean
* @cat JavaScript
*/
-new function() {
- var b = navigator.userAgent.toLowerCase();
-
- // Figure out what browser is being used
- jQuery.browser = {
- version: (b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
- safari: /webkit/.test(b),
- opera: /opera/.test(b),
- msie: /msie/.test(b) && !/opera/.test(b),
- mozilla: /mozilla/.test(b) && !/(compatible|webkit)/.test(b)
- };
+var userAgent = navigator.userAgent.toLowerCase();
+
+// Figure out what browser is being used
+jQuery.browser = {
+ version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
+ safari: /webkit/.test(userAgent),
+ opera: /opera/.test(userAgent),
+ msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
+ mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
+};
+var styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat";
+
+jQuery.extend({
// Check to see if the W3C box model is being used
- jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat";
-
- jQuery.styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat";
-
- jQuery.props = {
+ boxModel: !jQuery.browser.msie || document.compatMode == "CSS1Compat",
+
+ styleFloat: jQuery.browser.msie ? "styleFloat" : "cssFloat",
+
+ props: {
"for": "htmlFor",
"class": "className",
- "float": jQuery.styleFloat,
- cssFloat: jQuery.styleFloat,
- styleFloat: jQuery.styleFloat,
+ "float": styleFloat,
+ cssFloat: styleFloat,
+ styleFloat: styleFloat,
innerHTML: "innerHTML",
className: "className",
value: "value",
@@ -1971,9 +1970,8 @@ new function() {
readonly: "readOnly",
selected: "selected",
maxlength: "maxLength"
- };
-
-};
+ }
+});
/**
* Get a set of elements containing the unique parents of the matched