2
我結合一個簡單的點擊事件到window
對象,但處理程序不會被調用在IE8(適用於Chrome和FF):IE中的事件是否會觸發窗口?
$(window).click(function (e) {
alert('Hello there! I\'m in the window.click hanlder!');
});
任何人爲什麼會這樣?
我結合一個簡單的點擊事件到window
對象,但處理程序不會被調用在IE8(適用於Chrome和FF):IE中的事件是否會觸發窗口?
$(window).click(function (e) {
alert('Hello there! I\'m in the window.click hanlder!');
});
任何人爲什麼會這樣?
看來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");
});
}
因此,解決方案是結合到document
代替window
。