在Windows对象上附加鼠标事件在Internet Explorer 8中不起作用

时间:2011-03-17 09:08:47

标签: javascript internet-explorer events

哦,有人知道为什么Internet Explorer(8)没有触发附加到窗口的事件?

    attachEvent("onmousedown", function(){alert("here")}); //Doesn't work.
    onmouseup = function(){alert("here 2")}; //Guess what? Doesn't work too.

当然,我甚至不需要说这适用于Firefox,Opera和Chrome

    addEventListener("mousedown", function(){alert("here")}, false)
    onmouseup = function(){alert("here 2")};

attachEvent在div上工作或*在这里插入任何DOM元素*,但我需要事件是全局的。

3 个答案:

答案 0 :(得分:4)

尝试将其附加到文档

答案 1 :(得分:1)

似乎IE8(以及可能以下)不会将鼠标事件冒泡到window对象。 IE9似乎纠正了这种不端行为。

案例1:在窗口对象上绑定鼠标事件:

onmousedown = function() { alert(1); };

适用于所有当前浏览器,但不适用于IE8。

现场演示:http://jsfiddle.net/simevidas/nbtYy/

案例2:在文档对象上绑定鼠标事件:

适用于所有当前浏览器和IE8。

document.onmousedown = function() { alert(1); };

现场演示:http://jsfiddle.net/simevidas/nbtYy/2/

答案 2 :(得分:0)

尝试将其附加到窗口对象,如

$(window).mouseup(callback)