Side navigation
#1334 closed bug (duplicate)
Opened June 29, 2007 10:30AM UTC
Closed July 20, 2007 09:14PM UTC
IE7: fix() is not working sometimes
| Reported by: | XASD | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | core | Version: | 1.1.2 |
| Keywords: | Cc: | ||
| Blocked by: | Blocking: |
Description
Somtimes,following code dosen't work in IE7:
fix: function(event) {
// Fix target property, if necessary
if ( !event.target && event.srcElement )
event.target = event.srcElement;
// Calculate pageX/Y if missing and clientX/Y available
if ( event.pageX == undefined && 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);
}
"b" is null on page initialization time(though document.body is not null),so expression:
(e.scrollLeft || b.scrollLeft) dosen't evaluate and throws "Object required" exception in "b.scrollLeft",because "e.scrollLeft" is "0" in that time.
This bug is repeatable,if reload the same page several times,it popups sometimes.
Look at http://www.microsoft.com/technet/archive/itsolutions/intranet/build/chapt9.mspx?mfr=true, "Availability of the body Property".