Наверно этого не хватает:
if (e.pageX == null && e.clientX != null) {
var docElem = $d.documentElement || {}, body = $d.body || {};
e.pageX = e.clientX + (window.pageXOffset || docElem.scrollLeft || body.scrollLeft || 0) - (docElem.clientLeft || 0);
e.pageY = e.clientY + (window.pageYOffset || docElem.scrollTop || body.scrollTop || 0) - (docElem.clientTop || 0);
}