// Calculate pageX/Y if missing and clientX/Y available
if ( event.pageX == null && event.clientX != null ) {
var e = document.documentElement, b = document.body;
event.pageX = event.clientX + (e && e.scrollLeft
b.scrollLeft);
event.pageY = event.clientY + (e && e.scrollTop | b.scrollTop);
}
Of course this accomplishes nothing and the issue still stands. Here's my fix (good ol' fashioned "typeof"):
// Calculate pageX/Y if missing and clientX/Y available
if ( event.pageX == null && event.clientX != null ) {
var e = document.documentElement, b = document.body;
if (typeof e.scrollLeft == 'undefined') {
event.pageX = event.clientX + b.scrollLeft;
event.pageY = event.clientY + b.scrollTop;
} else {
event.pageX = event.clientX + e.scrollLeft;
event.pageY = event.clientY + e.scrollTop;
}
}
Attachments
Change History
Download in other formats:
|