用户脚本 addEventListener 似乎没有附加到元素

2023-12-01

我正在尝试将 onclick 事件侦听器附加到现有元素(特别是不是button with a form,这是一个简单的div)通过用户脚本在网页上。然而,据我所知,即使在匿名函数中添加事件侦听器不应与现有用户脚本的超时规则发生冲突,它也不会附加任何内容(或者可能,它does,但随后用户脚本超时并且匿名函数停止存在,导致事件侦听器消失。我是否误解了用户脚本范围的一些基本内容?

我尝试通过以下方式将其连接到按钮。这不是由将outerHTML 重新绑定到自身的某些模糊竞争条件引起的,因为即使没有该行,也不会添加事件侦听器。

var button = document.getElementById("button");
button.outerHTML = button.outerHTML; // removes all existing event listeners on the element
button.addEventListener("click", function() {
  window.alert("ping"); // or any other function body
}, false);

火狐浏览器112.0.2


它不起作用,因为当你这样做时button.outerHTML = button.outerHTML;您最初引用的按钮不再是 DOM 中的按钮。您正在用新按钮替换该按钮。

您需要再次选择该按钮。

var button = document.getElementById("button");
button.outerHTML = button.outerHTML; // removes all existing event 

button = document.getElementById("button");
button.addEventListener("click", function() {
  window.alert("ping"); 
}, false);
<button id="button">click</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用户脚本 addEventListener 似乎没有附加到元素 的相关文章

  • jquery ajax可以调用外部webservice吗?

    jquery ajax代码可以调用吗网络服务来自另一个域名或另一个网站 像这样 ajax type POST url http AnotherWebSite com WebService asmx HelloWorld data name
  • 如何实现 JavaScript 对象被垃圾回收时触发的函数?

    实际上 垃圾被收集 销毁或以其他方式超出范围 我想要做的是 当调用了 bind 方法的对象被销毁时 取消绑定非 DOM 元素上的事件处理程序 编辑 我又查看了我的代码 并决定我真正需要它的唯一地方是当不再需要包含该对象的模块时 这通常发生在
  • 当条件满足时如何打破CasperJS的重复功能?

    我想知道是否可以打破 casper repeat 循环 我有这个脚本可以做到这一点 在谷歌上搜索特工001 特工002 特工003 特工004 特工005 特工006 直到特工011 我希望它在找到文本 詹姆斯 邦德 后停止循环 现在它找到
  • 将随机字符串转换为十六进制颜色

    我的应用程序中有一个操作日志表 我想根据该条目的 sessionID 为行分配随机颜色 以帮助查看模式 分组操作 到目前为止我有这个 console log stringToColorCode mj3bPTCbIAVoNr93me1I fu
  • 在 javascript 中访问 ajax POST 响应

    我正在从 javascript 函数发出 ajax POST 请求 function UpdateMetrics ajax type POST url MyHandler ashx Param1 value1 data contentTyp
  • 在 Javascript 中动态添加事件处理程序

    我在使用 Javascript 时遇到了一个奇怪的问题 我得到的是一个特定格式的字符串 我将尝试用它创建一个表 该表每行只有一个单元格 字符串的格式为 每个单元格 行 需要显示内容 将传递给的参数onmouseover当用户将鼠标移动到显示
  • 根据用户区域设置过滤字符串列表

    当使用 AngularJS 1 6 处理 JavaScript 项目时 我有一个要过滤的字符串列表 例如 假设我的列表包含 rbol cig e a nido and tubo 当过滤西班牙语字符串时 如果我过滤 u 我会期望两者cig e
  • 使用 javascript 将 html 文本渲染为位图,无需服务器端代码

    我需要使用 javascript 代码来转换 html 中的文章 帖子 以便最终用户以位图的形式查看 有没有办法在没有服务器端代码的情况下做到这一点 example p testing text here p 您可以使用例如html2can
  • 如何获取传单标记簇中点击事件的图块?

    这是我的代码 function onMapClick e e originalEvent defaultPrevented true var orig e originalEvent console log orig target map
  • 通过 Javascript 将图像切割成碎片

    我正在创建一个简单的拼图游戏 为了做到这一点 我需要将我正在使用的图片切成 20 块 Javascript 有没有办法将一张图片切成 20 个相等的部分 并将它们保存为网页中的 20 个不同的对象 或者我只需要进入 Photoshop 自己
  • JSON对象的长度[重复]

    这个问题在这里已经有答案了 该函数生成一个包含 json 对象的数组 var estoque function unpack estoque tnm total estoque vl id tid st tnm tnm split tota
  • 将上部字符转换为下部字符,将下部字符转换为上部字符(反之亦然)[重复]

    这个问题在这里已经有答案了 我需要将某些字符串中的所有较低字符转换为较高字符 并将所有较高字符转换为较低字符 例如 var testString heLLoWorld 应该 HEllOwORLD 转换后 在不保存临时字符串的情况下实现此目的
  • 嵌套辅助函数和性能

    嵌套辅助函数对于使代码更易于理解非常有用 谷歌甚至建议在他们的应用程序中使用嵌套函数时尚指南 https google styleguide googlecode com svn trunk javascriptguide xml Nest
  • 如何创建自定义元素扩展类的新实例

    我正在尝试以下示例谷歌开发者网站 https developers google com web fundamentals getting started primers customelements extendhtml我收到错误 Typ
  • 有没有好的 JQuery twitter 小部件可以循环推文?

    我想知道是否有任何 JQuery 小部件提供了循环加载推文的功能 例如在官方小部件中http twitter com about resources widgets widget profile http twitter com about
  • Javascript 中的线性回归 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在网络浏览器中用 Javascript 进行最小二乘拟合 目前 用户使用 HTML 文本输入输入数
  • 为什么 document.getelementbyId 在 Firefox 中不起作用?

    我不明白为什么 document getElementById 在 Firefox 中不起作用 document getElementById main style width 100 当我检查 Firebug 时 它说 类型错误 docu
  • 如何查看网站浏览者的操作系统?

    我运行的是 Ubuntu 8 04 最近在访问网站时收到以下错误 请使用运行 Windows 98 2000 Me NT 或 XP 的计算机返回 www site com 网站如何知道我正在运行哪个操作系统 是仅通过 javascript
  • 如何按字母顺序排序并先小写排序

    如何获得以下排序的结果Food to Eat然后是 食物123 显然 第二个较低的 o 应该将 要吃的食物 带到排序后的第一个项目中 我很惊讶这个问题不容易通过谷歌找到答案 这个壮举没有包含在 javascript 标准中也让我感到惊讶 F
  • 使用 javascript Array reduce() 方法有什么真正的好处吗?

    reduce 方法的大多数用例都可以使用 for 循环轻松重写 对 JSPerf 的测试表明 reduce 通常会慢 60 75 具体取决于每次迭代内执行的操作 除了能够以 函数式风格 编写代码之外 还有什么真正的理由使用reduce 吗

随机推荐

  • 如何从非 gui 线程 C# 中创建表单

    我有我的主 GUI 从那里我在一个单独的线程中启动一个长时间运行的方法 现在 我需要在这个单独的线程中创建并显示一个新表单 但是 当我显示这个新表单时 所有控件都卡住了 窗口显示 没有响应 解决这个问题的最佳方法是什么 regards Th
  • 应用程序启动时要添加到主活动的第一个片段

    假设我正在创建一个Android应用程序有一个Navigation drawer和一组fragments 当用户点击其中的一个选项时Navigation drawer相应的fragment已加载 该应用程序只有一个activity Main
  • 有没有办法检测调试器是否附加到 C# 的另一个进程?

    我有一个程序Process Start 另一个程序 N 秒后将其关闭 有时我选择将调试器附加到已启动的程序 在这些情况下 我不希望进程在 N 秒后关闭 我希望主机程序检测是否连接了调试器 因此它可以选择不关闭它 澄清 我不想检测调试器是否附
  • Java ProcessBuilder:环境设置正确,但仍然找不到命令

    我在我正在开发的 Eclipse 插件上使用 Java 的 ProcessBuilder 时遇到问题 我在调用 start 方法之前正确设置了环境 但是当我运行程序时 它总是返回命令未找到错误 当我通过命令行调用该命令时 它工作得很好 当我
  • Apache POI 散点图创建

    Currently generating a scatterplot using POI however the chart comes out weird The topleft one is generated using my cod
  • CKAN 错误:服务器错误 500

    When I visit a page of a CKAN site I get an error Server Error with status 500 我该如何找出问题所在 我如何获得帮助 这个错误可能意味着很多事情 从技术上讲 服务
  • 如何调试 WebKit2GTK+ 扩展

    我正在尝试让 WebKit2GTK 扩展正常工作 这是一个简单的扩展 在创建页面时只会打印到控制台 这是我的项目结构 bin images include lib webextension libwebextension so libweb
  • 检查是否安装了VLC

    我从 C 应用程序调用 vlc 来播放视频 我需要一种方法来持续检查 VLC 是否已安装 我已尝试检查注册表项 但根据您的 Windows 版本或体系结构 它们似乎不一致或不可靠 有人有什么建议 建议吗 我想说你在尝试检测这一点时做了不必要
  • Javascript 点击事件触发两次,即使使用 stopPropagation

    我有一组这样的项目
  • 如何从 Gitlab CD 中的应用程序存储库链接部署脚本/存储库?

    假设您有 Repo A与通用应用程序 Repo B使用 Ansible 部署脚本 在 RepoA CI CD 运行程序中 我想从 Repo B 运行 Ansible 脚本 最好 最简单的方法是什么 我正在尝试的是仅为 RepoB 创建一个额
  • 跨多个 Windows 10 虚拟桌面的持久窗口?

    我有带有多个窗口的 C WPF 程序 我添加了对 Windows 10 桌面的支持 但用户希望在桌面之间移动时某些窗口保留在屏幕上 例如 如果在第一个桌面上打开窗口 A 并且他们翻转到第二个桌面 他们希望窗口 A 保留在新桌面上的相同位置
  • 在javascript中快速合并许多连续的多边形

    有谁知道合并数千个连续多边形的方法 我一直在我的原型中使用 turf 的 union 函数来执行此操作 但随着多边形列表的增加 所需的时间变得太慢 我希望 瞄准一个需要亚第二次的解决方案 我就是这样做的 const turfUnion re
  • 理解 Swift 中的单例

    我正在尝试在 SWIFT 中创建一个单例 这就是我到目前为止所做的 class Global class var sharedInstance Global struct singleton static let instance Glob
  • 每n个点求和

    我有一个向量 我需要对每个向量求和n数字并返回结果 这就是我目前计划做的方式 有更好的方法来做到这一点吗 v 1 100 n 10 sidx seq int from 1 to length v by n eidx c sidx 1 2 l
  • 忽略标准输入中的退格键

    我想制作一个程序 强制用户输入文本 但不允许他删除任何内容 在 C 中执行此操作的简单方法是什么 我唯一拥有的是 c getchar EOF c b 这是行不通的 有任何想法吗 POSIX unix 版本 include
  • ant 的 Findbugs 问题

    查找错误 findbugs Executing findbugs from ant task findbugs Running FindBugs findbugs java lang NoClassDefFoundError org apa
  • 通过 Excel VBA 连接 Citrix 上的 SAP

    我的机器上没有直接安装 SAP 并通过以下链接使用 SAP 窗口 https nedc ctx applications services axa tech intraxa Citrix AccessPlatform auth logged
  • 占位符在页面加载时打开 jQuery UI 自动完成组合框 (IE10)

    我正在使用 jQuery UI 自动完成组合框小部件 当我在组合框中添加占位符时 默认情况下会打开自动完成框 出现这种情况仅适用于 IE10 及更高版本 这是我的代码 create function this wrapper span ad
  • css 动画即使在不同时间开始,也会一起结束

    我有一些相同类型的元素 我希望它们共享相同的 css 动画 但我希望它们在不同的时间开始 结束动画 Codepen 为以下代码 html div class container div class box hidden div div di
  • 用户脚本 addEventListener 似乎没有附加到元素

    我正在尝试将 onclick 事件侦听器附加到现有元素 特别是不是button with a form 这是一个简单的div 通过用户脚本在网页上 然而 据我所知 即使在匿名函数中添加事件侦听器不应与现有用户脚本的超时规则发生冲突 它也不会