javascript - 检测对输入(onfocus)事件的关注是元素在 dom 中不存在,但使用 Vanilla (普通)javascript

标签 javascript html

我有以下内容:

 document.querySelectorAll("input[type='text']").forEach((element) => {
        element.addEventListener('onfocusin', () => {
            alert("was focused!!!");
        });
    });

这些的问题是只有当元素存在时才有效。如果在调用此代码后将某个元素添加到 dom,则不会添加任何事件监听器。

即使元素尚不存在,我如何检测到 onfocusin 事件?

最佳答案

将事件监听器放在包含所有( future )输入(例如,文档本身)的父元素上。该事件将从输入中“冒出”。在处理程序中,您需要检查目标是否确实是您想要的元素:

 document.addEventListener('focusin', (e) => {
   const target = e.target;
   if (target.tagName == "INPUT" && target.type == "text") {
        alert("was focused!!!");
   }
 });

关于javascript - 检测对输入(onfocus)事件的关注是元素在 dom 中不存在,但使用 Vanilla (普通)javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56931171/

相关文章:

javascript - 如何在 Bootstrap 中创建自动完成搜索框?

android - android jelly Bean WebView 中的背景图像位置问题

javascript - jQuery 的 Datepicker UI src 不起作用,但 Google 的 src 可以。为什么?

javascript - 我如何排除 gulp src 中的路径?

javascript - 处理嵌套回调函数

javascript - jQuery 无法访问追加元素

html - 无法选择下拉菜单和单选按钮

javascript - Angular ng-repeat 创建表格问题

Javascript 设置FullYear

css - 如何为 iPad Chrome 浏览器预加载图像?