Javascript removeEventListener 不起作用 - 事件侦听器仍然存在

2023-12-12

我已经研究了一些解决这个问题的方法,但我不能真正告诉,我的代码是:

lb = document.body;

if(lb.addEventListener){    
    lb.addEventListener('keyup',
    function(event){
        keyPress(event.keyCode)
    }, false);
}

//In another function.

if(document.body.removeEventListener){
    document.body.removeEventListener('keyup', function(event){event.keyCode}, false);
} 

删除代码不起作用,还没有尝试很多解决方案,但这是我脚本上的最后一件事,我只想完成它。

谢谢你们


当调用removeEventListener时,你必须给它相同的函数实例比添加事件监听器:

var lb = document.body;

var callback = function(event){
    keyPress(event.keyCode)
};

if(lb.addEventListener){    
    lb.addEventListener('keyup', callback, false);
}

//In another function.

if(document.body.removeEventListener){
    document.body.removeEventListener('keyup', callback, false);
}

jQuery 使处理这个问题变得更容易,这要归功于它命名空间事件功能:

$(lb).on('keyup.my_namespace', function () { ... })

// later

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

Javascript removeEventListener 不起作用 - 事件侦听器仍然存在 的相关文章

  • 如何等待第一次画布重绘,直到 @font-face-font 加载?

    我有一个 HTML5 画布并用它编写文本context fillText 使用 font face font 使用 Firefox 3 6 显示页面我遇到问题 在画布的第一次绘制上 字体尚未下载 因此文本将以标准字体显示 我找到了一个 解决
  • 填充重叠的圆形区域

    我有两个相交的圆 我想让相交区域具有颜色 即使这两个圆是透明的 我想我可以找到一些方法用 css 来做到这一点mix blend mode财产 但我没有成功 当然 我可以使圆圈具有颜色并降低其不透明度 但我希望它们是白色或透明的 其中只有重
  • 生成随机数背后的数学(崩溃游戏 BTC Casino)

    我正在开发一款基于网络的游戏 其中有多个迷你游戏 我们坚持还添加一个在赌博界非常流行的崩溃游戏 然而 我们一直在努力理解生成随机 几乎不可预测 数字的概念 大多数赌博网站都会提供哈希值等来证明数字未被篡改 我们真的不需要这个 因为我们的游戏
  • 如何使用 jquery 在 ajax 调用中设置标头

    我需要从我自己的应用程序调用 Office 365 Rest API 当我在同一浏览器会话上复制并粘贴 url 时 我可以看到一些 XML 如果我将该 URL 粘贴到隐身窗口中 则会收到以下错误 The custom error modul
  • 尝试制作Linux终端但失败

    这可能是一个愚蠢的问题 可能很容易找到 但我对这一切都很陌生 我似乎找不到我要找的东西 或者至少我不知道我需要寻找什么 所以我在这里 所以我想做的是创建一种 Linux 终端 这就是我到目前为止所得到的 我所坚持的是实际输入文本部分 我一直
  • 使用 ReactJS 突出显示文本

    我试图突出显示与查询匹配的文本 但我不知道如何让标签显示为 HTML 而不是文本 var Component React createClass highlightQuery function name query var regex ne
  • jQuery:当使用 on .scroll 事件和警报时,firefox 似乎无限循环

    我的主模板之一中有以下 jQuery 代码 document scroll function var scroll top document scrollTop alert scroll top if scroll top lt 70 fi
  • React Native 中的动画背景颜色

    我将如何在 React Native 中将一种颜色动画化为另一种颜色 我发现通过插入 Animated Value 您可以通过以下方式对颜色进行动画处理 var BLACK 0 var RED 1 var BLUE 2 background
  • 以编程方式操作 DOM 元素值不会触发 onchange 事件

    我有一个隐藏的表单字段 当按下按钮时 隐藏字段的值就会改变 现在 我已向隐藏字段添加了一个观察者 监听发生的变化 但由于某种原因 即使隐藏元素的值发生变化 事件侦听器也永远不会启动 我正在使用 Prototype 和 Firefox 3 6
  • 如何通过两个输入文本字段组合表中的搜索?

    我的桌子看起来像这样 table tr td Apple td td Green td tr tr td Grapes td td Green td tr tr td Orange td td Orange td tr table 搜索的j
  • 使用jquery,下拉列表选择更改时如何重定向?

    我有一个下拉列表 如果有人选择一个选项 我想根据选择重定向到另一个页面 我怎样才能通过 jquery 做到这一点 将逻辑绑定到 change 事件 并从中获取当前值 val 以确定用户应该被重定向到哪里 此示例假设位置直接存储在值本身中 m
  • 如何在react中监听localstorage值的变化?

    我想在用户登录时显示一个按钮 如果用户未登录 那么我不会显示按钮 当用户登录时 我将设置本地存储值 当我在登录组件中设置本地存储时 标头组件必须侦听该事件并且显示按钮 我正在使用 addEventListener 进行监听 但它没有监听 我
  • 创建一个通用函数以将其用于其他数据

    我正在制作一个项目列表 并希望随着数量变化计算其值 但如何使该函数通用以便我可以将它用于所有行 你能建议一些最好和简单的方法 但请记住我想这样做仅限 JavaScript table thead tr th Name th th Quant
  • 如何从 HTML 图表中删除网址 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 HTML 中创建一个图表 我正在使用 API amCharts 但问题是它在图表中显示文本 amchart 我怎样才能删除该文本
  • 如何更改 angularjs $http.jsonp 的标头

    我读了document http docs angularjs org api ng 24http 但我想我一定是误解了 http defaults headers jsonp Accept application json http js
  • Mustache.js 只允许换行,转义其他 HTML

    我正在根据用户输入创建评论 并在用户单击 提交 后使用 Mustache js 渲染它们 我意识到我可以替换用户输入换行符 n with br 呈现为 HTML 中断 例如 myString replace n g br 我意识到我可以使用
  • 是否有跨浏览器的 jQuery contentEditable 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 jQuery 插件 库 它可以使 contentEditable 属性在所有主要浏览器中正常工作 我什至可以不用 IE6
  • 如何在 AngularJS 中设置选择选项中的文本格式?

    我有以下 json 对象 scope values id 2 code Code 1 name Sample 1 id 4 code Code 2 name Sample 2 id 7 code Code 3 name Sample 3 在
  • Google Calendar API:获取指定日期的空闲时段列表

    我需要获取我的谷歌日历中的免费时段列表 现在我只是获取事件列表 我在用谷歌日历 https www npmjs com package google calendar npm google calendar events list calO
  • Vue js - 在同一级别的两个组件内传递数据

    我有需要从一个传递的数据component1到另一个component2 我不使用vuex or router 组件树 Parent Component1 Component2 从一开始component1我发出 ajax 请求 检索信息并

随机推荐

  • 将 List.Contains 转换为表达式树

    相关 创建具有 3 个条件的 Lambda 表达式 将包含转换为表达式树 在我之前的问题的下面 我遇到了我想写的这个查询Expression Tree版本 List
  • twitter-bootstrap 按钮 javascript 不起作用

    我有一个控制组 其中一个按钮组作为复选框 如下所示 div class control group div
  • 在 Javascript 中将字符串添加到数字

    我有功能addNumber如果我单击具有特定值的按钮 该值将连接到变量 b 但如果 a 的值不是数字 则该函数不起作用 我缺少什么 我认为该函数使用参数 a 就像它是一个字符串一样 否则 数字就会被累加起来 因此 如果b 0 a x 的结果
  • 已安装的软件包在 Google Cloud Shell 中消失

    我尝试在 Google Cloud Platform Console 中安装一堆 python 包 但磁盘空间不足 安装失败 有趣的是 在某些时候 网络连接丢失了 我应该重新连接它 然后我检查了一些在尝试安装其他 python 软件包之前已
  • 从 Python 运行 bash 脚本

    我需要从 Python 运行 bash 脚本 我让它按如下方式工作 import os os system xterm hold e scipt sh 这不完全是我正在做的事情 但几乎是我的想法 工作正常 打开一个新的终端窗口 我将其保留用
  • 合并具有多个匹配项的数据框时仅选择第一行

    我有两个数据框 数据 和 分数 并想将它们合并到 id 列上 data data frame id c 1 2 3 4 5 state c KS MN AL FL CA scores data frame id c 1 1 1 2 2 3
  • JavaScript 错误:“不是函数”

    看起来 smth 不是函数 是 JavaScript 中一个非常常见的问题 但是在查看了相当多的线程之后 我仍然无法理解在我的情况下是什么导致了它 我有一个自定义对象 定义为 function Scorm API 12 var Initia
  • phpunit 中未定义的 action()

  • 何时使用 std::begin 和 std::end 而不是容器特定版本[重复]

    这个问题在这里已经有答案了 是否有任何一般偏好或规则来解释何时应使用容器特定版本的 begin 和 end 而不是自由函数std begin and std end 据我了解 如果函数是模板 其中容器类型是模板参数 那么std begin
  • 绑定 odeint 变量

    我正在使用 odeint 来模拟一个系统 其中有几个变量不应小于零 是否有适当的方法将 odeint 中的变量绑定到特定范围 在odeint中不存在这种可能性 我想没有算法可以做到这一点 您必须以某种方式对 ODE 中的界限进行编码 如果您
  • excel超链接什么都没有

    我有很多超链接 我想为每个超链接分配一个宏 并且 Worksheet FollowHyperlink 仅捕获插入的超链接 但不捕获 HYPERLINK 函数 所以我希望我插入的超链接不引用任何内容 这样当我按下它们时什么也不会发生 或者我希
  • 如何在 Flask-RESTful 中添加自定义 HTTP 响应头?

    我正在使用 Flask RESTful 并且希望通过向我的响应添加自定义 HTTP 标头来处理某些错误 是否有标准的 Flask 或 Flask RESTful 方法可以做到这一点 结果我跳过了文档的那部分 class Todo3 Reso
  • Kendo Grid 移动到下一个单元格后不保存值

    我尝试修改kendo Grid的InCell编辑模式的行为 我的意思是我尝试使用箭头导航到单元格 但这样做时遇到问题 这是我的代码 grid keydown function e debugger isEditStarted true va
  • 在地图上绘制绕纬度/经度的时间半径

    我正在与gmapsdistanceR 中的包 我有我的 API 密钥 并且我熟悉包中的功能 然而 我想从相反的方向解决一个问题 而不是仅仅找到Time Distance and Status纬度 经度之间是纬度 经度的向量 我想输入一个纬度
  • x86 函数调用类型

    我是x86新手 我的问题是关于函数调用 据我所知 有三种函数调用类型 短调用 0xe8 远调用 0x9a 和近调用 0x 有些将短调用称为相对调用 ip arg cs inv 将远调用称为绝对调用 ip arg cs arg 但近调用又如何
  • 如何使用外部库 JAR 在终端中运行 Java 程序

    这应该很简单 但我以前从未这样做过 也没有找到任何解决方案 我目前正在使用 Eclipse 来编写我的程序 它导入一些外部 JAR 库 例如 google data api 库 我可以使用 Eclipse 来编译 构建 运行该程序 但现在我
  • 在表中打印查询结果

    如果我有一个名为 info 的 MySQL 表 如下所述 并且我想打印出一个 HTML 表 如下所述 我该怎么做 MySQL表中的字段 id subject category actions date status HTML 表格结构 两列
  • 从生成的表中检索数据时对象名称“dbo.TableName”无效

    我首先使用实体 框架代码来创建我的表 请注意 创建表 而不是数据库 因为我正在托管环境中工作 并且没有允许创建数据库的用户 提交数据库更新工作正常 但检索数据会出现异常 异常详细信息 System Data SqlClient SqlExc
  • 无法使用 SMO 枚举 SQL Server 2008 注册服务器

    我的工作站上安装了 SQL Server 2005 Management Studio 此后我安装了 SQL Server 2008 工作站工具并删除了 SQL Server 2005 工具 我现在正在编写一个 C 程序 它会迭代我在 Ma
  • Javascript removeEventListener 不起作用 - 事件侦听器仍然存在

    我已经研究了一些解决这个问题的方法 但我不能真正告诉 我的代码是 lb document body if lb addEventListener lb addEventListener keyup function event keyPre