jquery .off 似乎不起作用

2023-12-28

所以我会简短地说:jquery.off()不会禁用我设置的监听.on.

html:

<span id="myspan">lol</span>
<button id="b1">jquery On</button>
<button id="b2">jquery Off</button>

js:

$("#b1").on("click", add);
$("#b2").on("click", del);

function add() {
    $("#myspan").on("click", function(e) {
        var a = 1;
        testfunc(a, e);
    });
}

function del() {
    $("#myspan").off("click", testfunc);
}

function testfunc(num, event) {
   alert(num);
}

所以首先我们添加到myspan the testfunc()通过单击jquery 开启按钮。完成此操作后,如果单击范围,我们会收到警报。接下来,我们点击jquery 关闭按钮。这应该会删除侦听器,但事实并非如此。即使在那之后,当我们点击myspan testfunc仍然附着。

为什么?我怎样才能删除它?


您的参数不匹配

这并不是因为您绑定到了不同的函数(匿名函数)。然后你试图解除绑定testfunc...为了让您的活动(解除)绑定发挥作用两个参数之间on and off必须匹配.

可能的解决方法

如果这是唯一的click元素上的事件侦听器,那么最简单的方法是通过调用以下方式与匿名函数解除绑定:

$("#myspan").off("click");

如果您将多个事件处理程序绑定到同一元素上的单击事件,那么您还可以通过提供命名空间来区分它们,然后在off call.

$("#myspan").on("click.test", function(e) { ... });
...
$("#myspan").off("click.test");

或者,如果您想取消绑定使用同一命名空间绑定的多个不同事件处理程序,则仅使用命名空间:

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

jquery .off 似乎不起作用 的相关文章

  • jQuery 验证日期范围问题

    我的代码中有很多地方有成对的相关开始和结束日期字段 范围 我需要验证开始日期早于结束日期 我正在使用 jQuery 验证插件 这是我的代码 http jsfiddle net jinglesthula dESz2 http jsfiddle
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • TRACKER:错误TRK0005:无法找到:“CL.exe”。该系统找不到指定的文件

    我尝试在 Windows 8 上的 Node js 项目中执行以下命令 npm 安装 电子邮件受保护 cdn cgi l email protection 但我收到一个错误 我不知道如何处理 TRACKER 错误TRK0005 无法找到 C
  • JavaScript:从 JavaScript 调用锚标记的点击事件

    我有一个带有锚标记的页面 在我的 JavaScript 中 我设置HREF锚标记的属性基于一些 if else 条件动态变化 现在我想以编程方式调用锚标记的单击事件 我使用了下面的代码 但没有成功 var proxyImgSrc CostM
  • 将具体数据放在jqgrid摘要视图标题中

    我有一个工作 jqgrid 表 在标题上有摘要视图 就像我在这个 plunkr 中实现的示例一样http plnkr co edit wjIlaVMsa9vusmfhgfL1 p preview http plnkr co edit wjI
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • Phonegap facebook 插件:android 的各种问题

    我正在尝试将 Phonegap 3 1 与 Phonegap facebook plugin 集成 以使我的应用程序能够使用 facebook 登录 https github com phonegap phonegap facebook p
  • HTML 和 JavaScript - 将滚动操作从一个元素传递到另一个元素

    假设我有两个 div div div div A scrollable list div 我想让它当光标停在里面时 control并且鼠标滚轮滚动 view将会滚动 无论如何要实现这一目标 好的 快速修复对我有用 即使固定 div 不可滚动
  • (0, eval) () 的作用是什么? [复制]

    这个问题在这里已经有答案了 以下内容来自这个问题 https stackoverflow com questions 14119988 return this 0 evalthis 14120023 14120023 function q
  • ReferenceError 和全局对象

    在浏览器中的 JavaScript 中window是全局对象 这意味着在全局范围内定义的每个变量都是window 那么为什么我会得到这个结果 console log window foo No error logs undefined co
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 如何模板化 Select2 的预选值

    我预先选择的值Select2 https select2 org如下所示 function formatState state console log state text2 I found undefined here console l
  • Angular 2访问组件内的ng-内容

    我怎样才能访问 content 来自组件类本身的组件 我想做这样的事情
  • 向特定客户端发送消息以及消息发送用户

    我是 SignalR 的初学者 我创建了一个基于 SignalR 的基本聊天应用程序 我面临的问题是我想向特定客户端以及发送消息的用户发送消息 这个怎么做 我知道要向特定客户端发送消息 我们可以这样做 Clients Client Cont
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要
  • 使用 JQuery 预填充选择字段的下拉选项验证

    我有这个 JQuery 片段来防止选择已在另一个字段中选择的下拉选项 var coll select name service on change function coll each function var val this value

随机推荐

  • 数组的长度属性在哪里定义?

    我们可以确定一个的长度ArrayList
  • 如何在 C# 中将 SID 转换为帐户名

    我有一个 C 应用程序 可以扫描目录并收集一些信息 我想显示每个文件的帐户名 我可以通过获取 FileInfo 对象的 SID 在本地系统上执行此操作 然后执行以下操作 string GetNameFromSID SecurityIdent
  • C++ 相当于 Python __getattr__(self, name)

    我喜欢 Python 的原因之一是它的方式自定义属性访问 https docs python org 2 reference datamodel html customizing attribute access class Foo obj
  • 在Prolog中查找最大子列表

    我是 Prolog 新手 正在尝试解决以下问题的实例最大子数组问题 https en wikipedia org wiki Maximum subarray problem 我有以下相当优雅的 C 代码 int maxSubArray ve
  • 带阴影的 UIView

    我试图在一个简单的 UIView 对象周围创建一个阴影 该对象添加到 UIViewController 视图的顶部 这样做最直接的方法是什么 首先 请务必导入 Quartz Core 库 import
  • Foundation 可以告诉我 Objective-C 方法是否需要特殊的结构返回吗?

    据我了解 背景 Objective C 方法调用基本上是带有两个隐藏参数 接收器和选择器 的 C 函数调用 Objective C 运行时包含一个名为 objc msgSend 的函数 允许以这种方式调用方法 不幸的是 当函数返回结构时 可
  • 为 OpenCL 设置 Visual Studio 2010 的正确方法

    设置 VisualStuio 2010 处理 cl 文件的正确方法是什么 我在工具 文本编辑器 文件扩展名下添加了 cl 并将 usertype dat 复制到 common7 ide 文件夹中 但 VS 为 float4 或 cross
  • 如何在登录后正确注销 Java EE 6 Web 应用程序

    一个非常简单的要求 登录 Web J2EE 6 应用程序后 如何让用户再次注销 我见过的大多数 全部 书籍和教程都展示了如何向其应用程序添加登录 登录错误页面 并使用 j security check 方法演示安全主体 角色 领域等的使用
  • 处理 SQL 连接

    我有一个连接到数据库并检索数据表的 SQL 类 我知道 SqlConnection 必须在完成后释放 我知道这可以使用using块 但是也可以接受Dispose 在这个类的析构函数中调用 这是我的代码 public class SQLEng
  • 使用 Visual Studio 2010 时出现 System.OutOfMemoryException

    当我的笔记本电脑中确实有很多未使用的内存时 我收到了名为 system outofmemory exception 的非常烦人的消息 除非我关闭并重新打开解决方案 否则它不会让我继续我的工作 是否有任何配置或服务包可以解决该问题 Thank
  • 编辑后保留文本的突出显示颜色

    删除前面一行的内容后 无法保留我在 RichTextBox 中设置的文本上的突出显示效果 无论我从控件中删除多少文本 它总是会删除我设置为已包含在其中的文本的自定义选择颜色和选择背景颜色 我的删除方法的代码 private void btn
  • asdf erlang 在 macOS 上编译失败

    我正在尝试通过 asdf 在 macOS 11 3 1 上安装 erlang 22 3 4 18 erlang 的 asdf 插件 https github com asdf vm asdf erlang OSX 特定的说明说要安装auto
  • NSCoding 和 Codable 可以共存吗?

    在测试新的 Codable 如何与 NSCoding 交互时 我整理了一个游乐场测试 涉及使用包含 Codable 结构的类的 NSCoding 到惠特 struct Unward Codable var id Int var job St
  • django python 排序错误

    出现以下错误的原因是什么 当我尝试使用以下内容进行过滤时 if MyObject objects filter location aDictionary address 其中位置定义为 location models CharField m
  • 在 Postgres 中通过未知键从 jsonb 获取元素

    我有以下数据结构 proccess1 error error1 description nextRetryAt 2018 02 22T07 39 00 325Z attemptsMade 148 firstFailedAt 2018 02
  • 在路径中绘制不同颜色的形状(HTML5 Canvas / Javascript)

    我正在尝试绘制多个填充不同颜色的圆弧 draw ctx beginPath ctx fillStyle black ctx arc 30 30 20 0 Math PI 2 true ctx fill ctx fillStyle red c
  • std::iterator、指针和 VC++ 警告 C4996

    int arr int malloc 100 sizeof int int arr copy int malloc 100 sizeof int srand 123456789L for int i 0 i lt 100 i arr i r
  • 如何添加一个链接,将事件从 Safari 添加到您的 iPhone 日历?

    这看起来应该很简单 但经过几个小时的谷歌搜索后我还没有弄清楚 我知道我可以使用 ICS 文件添加 iCal 链接 但这在 iPhone 上不起作用 顺便说一句 当我说 iPhone 时 我希望它也能在触摸屏上运行 有人有这样的运气吗 您可以
  • Swift Date:如何判断一个月是否可以有闰日?

    我正在构建一个日历视图 我希望与年份无关 只需列出一个月内可能发生的所有可能日期 IE 显示日历中的最大天数 例如 2 月 29 日 从这个答案 https stackoverflow com questions 41318604 is t
  • jquery .off 似乎不起作用

    所以我会简短地说 jquery off 不会禁用我设置的监听 on html span lol span