JS addeventListener 点击消失

2024-02-21

我创建了简单的fidlle https://jsfiddle.net/0nm4uLvd/

var cnt = 1;
function add() {
    var root = document.getElementById('root')    
    root.innerHTML += '<br /><a id= "a_' +cnt + '" href="#">click</a>'
    var a = document.getElementById("a_"+cnt)
    a.addEventListener('click', function(event) {
        alert('click:a_'+cnt)
    })
    cnt++
}

当添加新链接后单击“添加”按钮,并且单击此链接后会出现警报。

当使用“添加”按钮添加更多链接时,只有最后一个链接有效(根据开发工具,其他链接没有单击事件侦听器)。

为什么只有最后一个链接有效?如何使所有链接都有效?


因为您要在 html 中重新插入锚标记。 问题类似于将 HTML 字符串附加到 DOM https://stackoverflow.com/questions/7327056/appending-html-string-to-the-dom.

您可以使用

root.insertAdjacentHTML( 'beforeend', '<br /><a id= "a_' +cnt + '" href="#">click</a>');

代替

root.innerHTML += '<br /><a id= "a_' +cnt + '" href="#">click</a>'

工作小提琴https://jsfiddle.net/0nm4uLvd/ https://jsfiddle.net/0nm4uLvd/

只是为了改进答案,这是另一个参考为什么当 dom 元素被删除时事件侦听器被删除=>如果移除 DOM 元素,其侦听器是否也会从内存中移除? https://stackoverflow.com/questions/12528049/if-a-dom-element-is-removed-are-its-listeners-also-removed-from-memory感谢这些人:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS addeventListener 点击消失 的相关文章

  • 音频标签的 Html5 惰性“onplay”事件处理程序?

    使用新的 Html5 音频标签 onplay 事件似乎仅在第一次播放音频时触发 在此示例中 当单击 播放 时 音频将开始并显示一个显示 正在播放 的警报弹出窗口 当音频结束并再次单击 播放 时 音频会再次开始 但不会触发警报 我在这里错过了
  • 如何限制 Chrome 中的最大文本区域宽度和高度或如何禁用文本区域调整大小

    Chrome 允许通过在右下角添加文本区域来调整文本区域的大小 但有时这种移动可能会破坏页面的设计 所以我想知道如何限制该操作的最大和最小宽度 即如何完全禁用该功能和thml javascript css在页面上 您可以使用 resize
  • ECMAScript 6 类中的 getter 和 setter 有何用途?

    我对 ECMAScript 6 类中 getter 和 setter 的意义感到困惑 什么目的 下面是我参考的一个例子 class Employee constructor name this name name doWork return
  • Sequelize 关联 - 请改用 Promise 风格

    我正在尝试将 3 张桌子连接在一起Products Suppliers and Categories然后排SupplierID 13 我读过了如何在sequelize中实现多对多关联 https stackoverflow com a 25
  • 按 Enter 键提交消息?

    我正在开发一个基于本教程使用 Meteor 构建的聊天应用程序 http code tutsplus com tutorials real time messaging for meteor with meteor streams net
  • jQuery 在附加元素后立即返回 div 元素的高度 0

    我有一个浮动 div 最初没有内容 我使用 jQuery 将一组元素附加到 div 然后立即调用原始 div 的 height 方法 我添加的元素在样式表中具有定义的最小高度 而浮动 div 则没有 问题是 当我在原始 div 上调用 he
  • Jquery:排除元素

    我有以下代码 document ready function a rel each function this qtip content text img class middle src i icon processing gif alt
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • linkedin js 如何是有效的 javascript

    LinkedIn Javascript 集成是通过以下方式完成的 我不明白 这怎么是一个有效的javascript 为什么 api key 没有被引用 脚本标签的主体带有src永远不会被执行 但是 加载的脚本可以像访问任何其他元素的内容一样
  • 2 个 SVG 路径的交集

    我需要检查两个 SVG Path 元素是否相交 检查边界框与 getBBox 太不准确了 我目前正在做的是迭代两条路径 getTotalLength 然后检查是否有两个点 getPointAtLength 是平等的 下面是一个片段 但正如您
  • 如何将值从孩子的孩子传递给父母?

    我有一个父组件 有一个子组件 它也有一个子组件 Parent Child One child of parent Child Two child of child 当在子二中定义一个值时 我使用回调将该值传递给子一 但我也想将相同的值传递回
  • 如何将类组件中的 props 发送到功能组件?

    我是 ReactJS 的初学者 需要知道如何将一个页面中的 props 值发送到另一个页面 道具位于第一页上我可以获取类组件值如何获取另一页中的值 提前致谢 墙色 jsx import React Component from react
  • 如何使用 ReactJS 使表中的列可以以两种方式排序

    我正在 ReactJS 中构建一个简单的应用程序 它通过调用某个 API 来使用 JSON 数组 然后我将数组的结果填充到表中 我现在想让表的列可排序 我理想的情况是同时进行升序和降序排序 一旦我单击标题 当它按升序排序时 它应该按降序排序
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • 单击 html 中的按钮后如何从 javascript 函数写入文件

    我正在尝试编写真正基本的代码 在 html 文件上按下按钮后 通过 JavaScript 函数在本地写入 txt 文件 这不可能吗 我可以仅使用 javascript 文件写入文件 但在尝试同时使用两者时则不能
  • 如何加载Jquery Tiny滚动条

    所以我想自定义一个滚动条 我发现了一个很小的滚动条 这是一个jquery插件 http baijs nl tinyscrollbar http baijs nl tinyscrollbar 问题是 无论如何我都无法让它工作 我将 Jquer
  • javascript 加壳器与压缩器

    我想知道加壳器与压缩器的区别 优点是什么 即您应该在网络应用程序中部署压缩版本还是压缩版本 示例代码 var layout NAVVISIBLE 1 Init function this Resize Dimensions function
  • 如何在控制台中隐藏日志消息的来源?

    当将消息输出到控制台时 还会显示源代码 在 Chrome 开发者工具中 它位于右侧 console log Foo Source Foo test js 1 Output 但是 在某些网站上 会显示消息without正在显示的源 例如Fac
  • 使用 CSP 防止自动点击链接 XSS 攻击

    当将 CSP 用于稍微不同的目的 沙箱 时 我意识到一个非常简单的自动点击链接似乎甚至可以绕过相对严格的 CSP 我所描述的内容如下 内容安全政策 default src none script src unsafe inline 还有身体

随机推荐

  • 假装客户端无法拨打电话 - Kubernetes

    我已经在 Windows 的 docker desktop 上部署了微服务 并且 feign 无法调用另一个服务 个人MS通过假装呼叫组织MS 我可以在 person pod 的日志中看到 2019 11 10 12 58 34 000 I
  • 如何使用从字符串到 float64 的类型转换来解码 JSON

    我需要使用浮点数解码 JSON 字符串 例如 name Galaxy Nexus price 3460 00 我使用下面的 Golang 代码 package main import encoding json fmt type Produ
  • 如何防止将 Windows 临时删除关闭文件上打开的内存映射刷新到磁盘

    更新 2 TL DR 有没有办法防止窗口脏页FILE FLAG DELETE ON CLOSE临时文件是否会因关闭在这些文件上打开的内存映射而被刷新 Yes 如果您在初始创建后不需要对文件本身执行任何操作 并且您实现了一些命名约定 则可以通
  • 抽象工厂与工厂方法(范围)

    工厂方法是类设计模式 抽象工厂使用了许多工厂方法 为什么抽象工厂是对象设计模式 而不是类设计模式 抽象工厂将实例化推迟到哪个对象 抽象工厂模式将产品对象的创建推迟到 ConcreteFactory 子类 由于客户端期望 Factory 类
  • 如何在Android中删除SIM卡中的联系人

    我执行了以下代码来从 SIM 卡中删除选定的联系人 但它不会删除 也不会抛出任何错误 protected void DeleteContacts ArrayList
  • 闪亮仪表板的选项卡框 CSS

    我正在尝试更改选项卡样式tabBox in shinydashboard 我能够更改未选择的选项卡的背景 但无法更改所选选项卡的背景或每个选项卡中显示的文本 这是我添加到 custom css 文件中以更改未选择的选项卡背景的内容 nav
  • module.export和export有什么区别

    有什么区别module export and export 如果 module export 对象中有一些属性怎么办 将要export xx那么无效吗 首先它是exports and module exports并不是export and
  • 在Python中自动下载所需模块的最简单方法?

    我想发布一个我编写的 python 模块 它依赖于几个包 最简单的方法是什么 以便以编程方式下载这些软件包 以防它们在正在运行的系统上不可用 大多数这些模块应该可以通过 easy install 或 pip 或类似的东西获得 我只是想避免用
  • 对相似的时间序列进行聚类?

    我有 10 20k 个不同的时间序列 24 维数据 一天中每个小时的一列 并且我对表现出大致相同活动模式的时间序列进行聚类感兴趣 我最初开始实施动态时间扭曲 DTW 是因为 并非我所有的时间序列都完全一致 出于我的目的 两个稍微偏移的时间序
  • 通过IP地址查找位置Nodejs mongodb [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试查找 IP 地址的位置 IP 地址将通过前端 Android iOS 应用程序发送到 API
  • pkgdown 小插图代码块间距

    我在运行时遇到代码块输出问题pkgdown build site 与所有默认选项 块被渲染在html内容 https mountainmath github io cancensus articles Making maps with ca
  • 使用 IIS 10 设置 Laravel 5.4

    我想在 Windows Server 2016 上运行的 IIS 10 上部署 Laravel 项目 最简单且仍然安全的方法是什么 我就是这样做的 我不确定这是正确的方法 安装 URL 重写模块 https www iis net down
  • 设置 /p 空答案崩溃

    我是新来的 所以我会尽力做到最好 所以我正在尝试制作一个基于文本的 MS DOS 的 RPG 而且我进展得很好 因为我刚刚看到如果用户在 set p 处输入了无效的输入 比如一个空答案 只需按 Enter 或一个不在 IF 上的答案 批处理
  • JDI、Java 字节代码检测和 Java 代理(JWDP、JVMTI)

    我是调试器 仪器和 JVMTI 领域的新手 所以我对他们没什么疑问 JDI java调试器接口 JWDP javaagent和本机代理 JVMTI 有什么区别 Java Instrumentation API 在图中的位置 我正在使用 JD
  • 这三个for循环的复杂度是多少?

    Having 输入数组A 1 n N的长度A 算法 for int i N i gt 0 i Loop 1 for int j 1 j
  • 如何从 Google 云端硬盘下载文件

    我目前正在尝试制作一个从 Google Drive 下载文件的应用程序 在 Google Drive SDK 文档中 我找到了一个应该返回 System IO Stream 对象的示例方法 https developers google c
  • 文件名的 LEX 槽类型。 AMAZON.LITERAL 替代品

    我必须用示例话语创建意图 打开文件 文件名 显示 文件名 基本上 我必须有一个接受文件名的插槽 用户可以输入 打开我的文件报告 pdf 打开文件活动1 doc 打开文件去年报告 如果我可以使用 AMAZON LITERAL 类型 它会完美地
  • 从相同类型的另一个对象更新实体框架对象

    是否有任何方法可以从强类型对象更新对象而不列出每个字段 让我们考虑以下情况 using var context new MyDBEntities var user User Session EditedUser var oldUser co
  • Chrome 102:已被 CORS 策略阻止:请求的目标 IP 地址空间为“未知”,但资源位于“私有”地址空间中

    我们有一个托管在 LAN 中的基于 Web 的系统 非 SSL 从 Chrome 102 Windows Ubuntu 开始 我们面临一个随机的 CORS 问题 描述为 已被 CORS 策略阻止 请求具有目标 IP 地址空间 为 未知 但资
  • JS addeventListener 点击消失

    我创建了简单的fidlle https jsfiddle net 0nm4uLvd var cnt 1 function add var root document getElementById root root innerHTML br