javascript - 删除或覆盖 .onclick = function(){}

标签 javascript

我现在是活跃开发人员的网站使用外部加载的脚本。它包含 DOM 中给定元素的事件监听器。该事件由以下示例触发

document.getElementById('my_id').onclick = function() { /*code*/ }

我已尝试使用以下示例来删除监听器,但无济于事。

document.getElementById('my_id').onclick = ''
document.getElementById('my_id').addEventListener('click', function(e){ /*code*/ })
document.getElementById('my_id').removeEventListener("click")

我无法控制此外部代码,但需要停止其行为。目前我的尝试失败了,我正在尝试找出原因

最佳答案

只需分配一个空函数,如下所示:

document.querySelector('#main').onclick = () => {}

和工作版本

document.querySelector('#main').onclick = () => console.log('clicked')
document.querySelector('#remove').onclick = () => document.querySelector('#main').onclick = () => {}
<button id="main">Click me</button>
<button id="remove">Remove the listener</button>

关于javascript - 删除或覆盖 .onclick = function(){},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236111/

相关文章:

javascript - 在 JavaScript 中连接函数

javascript - 如何向 div 的所有子节点和这些 div 的数组添加事件监听器?

javascript - 如何在阅读 TTS 消息后添加页面刷新功能

javascript - 如何从此 codepen 中删除数字和秒文本

javascript - Webpack - 捆绑 js 中未缩小的文件

javascript - jquery 在鼠标悬停/移出时出现奇怪的闪烁

javascript - 打印到控制台时为 NaN 但 typeof 为数字 jquery

javascript - Chrome 性能.计时错误输出(与开发工具不匹配)

javascript - 执行此代码时我看不到警报框

javascript - 将数据从 js 传递到 php 并下载创建的 csv 文件