X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=330e05adceddeddb646740b5e286fd2086cc1381;hb=30dc79f1d0aca3ead3980f890a546bc245feb5d5;hp=8a0a115c40935ebcf52465b55ae92e860dd8b6b4;hpb=ccc4c7663a117f4a9c5469f086d18133ae4f2e38;p=jquery.git diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 8a0a115..330e05a 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -1982,38 +1982,34 @@ jQuery.extend({ }, fix: function(event) { - // fix target property, if available - if(event.srcElement) + // fix target property, if necessary + if(!event.target && event.srcElement) event.target = event.srcElement; - // calculate pageX/Y if missing - if(typeof event.pageX == "undefined") { + // 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 if target is a textnode (only for safari) + // 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 event.target = event.target.parentNode; } - // fix preventDefault and stopPropagation if (!event.preventDefault) { event.preventDefault = function() { this.returnValue = false; }; } - if (!event.stopPropagation) { event.stopPropagation = function() { this.cancelBubble = true; }; } - return event; } }