Есть ли в теге ‘body’ тег onblur?

Я попытался связать событие onblur с и он работает в IE 6/8.

Однако, когда я перехожу к w3schools , оказывается, что не имеет события onblur .

Может кто-нибудь объяснить это?

Спецификация HTML4 не onblur атрибута onblur .

С другой стороны, проект HTML5 .

body:onblur является частью спецификации HTML5, но не является частью спецификации HTML4.

Если вы хотите поддерживать браузер HTML4, почему бы не использовать window:onblur ? В большинстве случаев у вас будет такая же функциональность.

Я никогда не буду полагаться на источник, который вы упомянули. Проблема в том, что MSIE запускает событие blur почти для каждого элемента, включено. Больше всего других реализаций делает точный oposite.

Это может помочь, если вы явно используете tabIndex для body element , например:

 document.body.tabIndex = 1; document.body.onblur = function() { alert('body blur'); }; 

Это работает для меня на FF5. Тем не менее, я не уверен, сколько версий из FF и сколько реализаций поддерживают это «сложное» решение проблемы.

Следующий логический вопрос: зачем вы хотите, чтобы body было размыто? Единственная разумная вещь, о которой я могу думать, это то, что вы хотите знать, когда кто-то покидает вашу страницу? Если это так, я бы рекомендовал посмотреть само window , а не тело.

 window.onblur = function() { alert('window blur'); }