Javascript:在IE 8中不会触发Mouseout事件

时间:2012-06-14 23:57:46

标签: javascript events javascript-events internet-explorer-8 event-handling

鼠标后面有一个跟踪对象。 当鼠标离开窗口时,我想隐藏它。 这在其他浏览器中可以正常工作,但甚至不会在IE8中触发事件>。<

如果我只能触发它,那么猜它可以正常工作。

function mouseport(e){
    //alert('event triggered');
    if (document.all)  { //IF IE
        mouseX = event.clientX;
        mouseY = event.clientY;
    } else    {
        mouseX = (window.Event) ? e.clientX : event.clientX;
        mouseY = (window.Event) ? e.clientX : event.clientY;
    }
        if ((mouseY > 0 && mouseY < window.innerHeight)
        && (mouseX > 0 && mouseX < window.innerWidth)){
            return false;
        }else{
            if (follow) hidett()    //that's my hide function
        }
    }

// for IE compatability
if (!window.addEventListener) {
    window.attachEvent("mouseout", mouseport);
}
else {
    window.addEventListener("mouseout", mouseport, false);
}

if (window.Event) {
            if (window.captureEvents) { //doesn't run if IE
                document.captureEvents(Event.MOUSEOUT);
            }
        }

请帮助找出我犯了错误但不会触发的地方......

2 个答案:

答案 0 :(得分:1)

window.attachEvent("mouseout", mouseport);

应该是

document.attachEvent("onmouseout", mouseport);

http://msdn.microsoft.com/en-us/library/ie/ms536343(v=vs.85).aspx

答案 1 :(得分:0)

尝试添加此

<meta http-equiv="X-UA-Compatible" content="IE=7" />

注意:已知会导致某些sscroll栏出现问题。