2014-02-05 29 views
4

所以我想要一些JavaScript,它会监听页面上所有潜在的焦点/模糊事件。我能为单击事件做到这一点很容易:JavaScript监听所有焦点/模糊事件

document.addEventListener('click', function (e) { console.log('click!') }) 

任何时候点击任何元素,事件将触发,即使添加了事件侦听器后,插入的节点。

我想为焦点事件做同样的事情,但它们只在单个元素上触发,并且决不会冒泡到文档中。

我该如何做到这一点?是否每隔几秒走DOM并重新监听以防添加新的输入元素?

回答

12

您可以使用起泡的focusinfocusout事件。

document.addEventListener('focusin', function(e) { console.log('focusin!')}) 

演示:Fiddle

+0

但这不是我想要触发事件。 – alt

+0

你是什么意思?它与焦点事件相同 –

+0

不,它不是。它对用户的浏览器有类似的影响,但我正在处理复杂的DOM,需要倾听所谓的“焦点” – alt