Gez*_*zim 2 javascript internet-explorer internet-explorer-8
我将一个简单的click事件绑定到window对象,但是在IE8中没有调用处理程序(适用于Chrome和FF):
$(window).click(function (e) {
alert('Hello there! I\'m in the window.click hanlder!');
});
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
似乎IE(测试IE8)没有将事件冒泡到window.
这是一个例子(http://jsfiddle.net/SZXrn/8/):
if (window.attachEvent) // IE
{
window.attachEvent('onclick', function () {
alert("Yay window obj was clicked! IE");
});
document.attachEvent('onclick', function () {
alert("Yay document obj was clicked! IE");
});
}
else if (window.addEventListener) // Other
{
window.addEventListener('click', function () {
alert("Yay window obj was clicked! Non-IE");
});
document.addEventListener('click', function () {
alert("Yay document obj was clicked! Non-IE");
});
}
Run Code Online (Sandbox Code Playgroud)
所以,解决方案是绑定到document而不是window.
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |