Commit d98283a3 authored by Jörn Zaefferer's avatar Jörn Zaefferer

Fix for event fix: Don't overwrite event.target if there is no srcElement;...

Fix for event fix: Don't overwrite event.target if there is no srcElement; calculate pageX/Y (tested with tooltip plugin)
parent c1367171
...@@ -1959,9 +1959,16 @@ jQuery.extend({ ...@@ -1959,9 +1959,16 @@ jQuery.extend({
fix: function(event) { fix: function(event) {
// check IE // check IE
if(jQuery.browser.msie) { if(jQuery.browser.msie) {
// fix target property // fix target property, if available
event.target = event.srcElement; // 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 // check safari and if target is a textnode
} else if(jQuery.browser.safari && event.target.nodeType == 3) { } else if(jQuery.browser.safari && event.target.nodeType == 3) {
// target is readonly, clone the event object // target is readonly, clone the event object
...@@ -1980,7 +1987,7 @@ jQuery.extend({ ...@@ -1980,7 +1987,7 @@ jQuery.extend({
event.stopPropagation = function() { event.stopPropagation = function() {
this.cancelBubble = true; this.cancelBubble = true;
}; };
return event; return event;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment