【问题标题】:JavaScript listen for all focus/blur eventsJavaScript 监听所有焦点/模糊事件
【发布时间】:2014-02-05 08:50:04
【问题描述】:

所以我想要一些 JavaScript 来监听页​​面上的所有潜在焦点/模糊事件。我可以很容易地为点击事件做到这一点:

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

任何时候点击任何元素都会触发该事件,即使节点是在添加事件监听器之后插入的。

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

我怎样才能做到这一点?是否只有每隔几秒遍历一次 DOM 并在添加新输入元素时重新侦听的唯一方法?

【问题讨论】:

    标签: javascript jquery events


    【解决方案1】:

    您可以使用冒泡的focusin 和focusout 事件。

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

    演示:Fiddle

    【讨论】:

    • 但这不是我要触发的事件。
    • 这是什么意思?和焦点事件一样
    • @JacksonGariety 在这种情况下你我认为你正在尝试一些不可能的事情,因为焦点事件根据定义不会冒泡
    • @ArunPJohny 这正是我想要的,非常感谢!
    • 重要的是要知道 focusin 和 focusout 事件在 focus 和 blur 事件之前触发,很像 mousedown 和 mouseup 在单击之前触发等
    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多