Moved $ alias more to the top (address #137)
[jquery.git] / src / jquery / jquery.js
index 689784a..e12245c 100644 (file)
@@ -68,6 +68,9 @@ var jQuery = function(a,c) {
 // Map over the $ in case of overwrite
 if ( typeof $ != "undefined" )
        jQuery._$ = $;
+       
+// Map the jQuery namespace to the '$' one
+var $ = jQuery;
 
 /**
  * This function accepts a string containing a CSS selector,
@@ -181,9 +184,6 @@ if ( typeof $ != "undefined" )
  * @type jQuery
  */
 
-// Map the jQuery namespace to the '$' one
-var $ = jQuery;
-
 jQuery.fn = jQuery.prototype = {
        /**
         * The current version of jQuery.
@@ -1959,9 +1959,16 @@ jQuery.extend({
                fix: function(event) {
                        // check IE
                        if(jQuery.browser.msie) {
-                               // fix target property
-                               event.target = event.srcElement;
-                               
+                               // fix target property, if available
+                               // check prevents overwriting of fake target coming from trigger
+                               if(event.srcElement)
+                                       event.target = event.srcElement;
+                                       
+                               // calculate pageX/Y
+                               var e = document.documentElement, b = document.body;
+                               event.pageX = event.clientX + (e.scrollLeft || b.scrollLeft);
+                               event.pageY = event.clientY + (e.scrollTop || b.scrollTop);
+                                       
                        // check safari and if target is a textnode
                        } else if(jQuery.browser.safari && event.target.nodeType == 3) {
                                // target is readonly, clone the event object
@@ -1980,7 +1987,7 @@ jQuery.extend({
                                event.stopPropagation = function() {
                                        this.cancelBubble = true;
                                };
-                       
+                               
                        return event;
                }
        }