aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2006-11-30 20:39:33 +0000
committerJörn Zaefferer <joern.zaefferer@gmail.com>2006-11-30 20:39:33 +0000
commitd98283a3a39b2fd4d2b0986c34c92f8c7b3c4e54 (patch)
tree12dca1249199de20f5bb3c383b4b5d93ffe54ee1
parentc136717119ec986be67848ec45b56e23d77d51fd (diff)
downloadjquery-d98283a3a39b2fd4d2b0986c34c92f8c7b3c4e54.tar.gz
jquery-d98283a3a39b2fd4d2b0986c34c92f8c7b3c4e54.zip
Fix for event fix: Don't overwrite event.target if there is no srcElement; calculate pageX/Y (tested with tooltip plugin)
-rw-r--r--src/jquery/jquery.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 689784a56..4164f6390 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -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;
}
}