diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index af729695..358c1654 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -162,6 +162,8 @@ var $ = jQuery; * technically, chainable - there really isn't much use for chaining against it. * You can have as many $(document).ready events on your page as you like. * + * See ready(Function) for details about the ready event. + * * @example $(function(){ * // Document is ready * }); @@ -2100,9 +2102,6 @@ jQuery.extend({ event = jQuery.event.fix( event || window.event || {} ); // Empty object is for triggered events with no data - // If no correct event was found, fail - if ( !event ) return false; - var returnValue = true; var c = this.events[event.type]; @@ -2125,20 +2124,19 @@ jQuery.extend({ }, fix: function(event) { - // check IE - if(jQuery.browser.msie) { - // fix target property, if available - // check prevents overwriting of fake target coming from trigger - if(event.srcElement) - event.target = event.srcElement; - - // calculate pageX/Y + // Fix target property, if necessary + if ( !event.target && event.srcElement ) + event.target = event.srcElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( typeof event.pageX == "undefined" && typeof event.clientX != "undefined" ) { 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) { + // Check safari and if target is a textnode + if ( jQuery.browser.safari && event.target.nodeType == 3 ) { // target is readonly, clone the event object event = jQuery.extend({}, event); // get parentnode from textnode @@ -2146,15 +2144,17 @@ jQuery.extend({ } // fix preventDefault and stopPropagation - if (!event.preventDefault) + if (!event.preventDefault) { event.preventDefault = function() { this.returnValue = false; }; + } - if (!event.stopPropagation) + if (!event.stopPropagation) { event.stopPropagation = function() { this.cancelBubble = true; }; + } return event; }