HTML 'body' 标记是否有 onblur 事件?



我尝试将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');
}

相关内容

  • 没有找到相关文章

最新更新