我尝试将onblur
事件绑定到<body>
标签,它在IE 6/8中工作。
然而,当我转向w3schools时,结果发现<body>
标签没有onblur
事件。
有人能解释一下吗?
HTML4规范没有列出onblur
属性。
body:onblur
是HTML5规范的一部分,但不是HTML4规范的一部分。
如果你想支持HTML4浏览器,为什么不使用window:onblur
?在大多数情况下,您将具有相同的功能。
我永远不会依赖你提到的来源。问题是,MSIE几乎为每个元素(包括<body
)触发blur
事件。而大多数其他实现却恰恰相反。
如果您显式地将tabIndex
替换为body element
,可能会有所帮助,例如:
document.body.tabIndex = 1;
document.body.onblur = function() {
alert('body blur');
};
这适用于我在FF5。也就是说,我不确定FF有多少版本以及有多少实现支持这种"棘手"的解决方案。
下一个合乎逻辑的问题是,为什么要触发body
一个模糊事件?我能想到的唯一合理的事情是,你想知道什么时候有人离开了你的页面?如果是这种情况,我建议观看window
本身而不是主体。
window.onblur = function() {
alert('window blur');
}