* 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
* });
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];
},
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
}
// 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;
}