下划线绑定 vs jQuery.proxy vs Native 绑定

2024-01-10

我在回调中遇到一些上下文问题。我用谷歌搜索并发现几个选项:

  1. 本机绑定 - 旧浏览器不支持
  2. jQuery 代理
  3. 下划线绑定

如果我不需要支持旧的浏览器,我肯定会使用本机绑定。应该注意这些之间有什么显着差异吗?

这些可以用作致电/申请的替代方法吗?


AFAIK,绑定和代理之间有细微的差别,如果您使用 jQuery,这可能会很重要。函数.原型.bindalways返回一个新的函数指针。如果尚未创建相同参数的代理,则 jQuery.proxy 仅返回新函数。并不是说你会want这样做,但是:

$(elm).on('click', doStuff.bind(thing)); //adds event handler
$(elm).off('click', doStuff.bind(thing)); //does not remove event handler as 2nd call of doStuff.bind(thing) always returns a new/different function

$(elm).on('click', $.proxy(doStuff, thing)); //adds handler
$(elm).off('click', $.proxy(doStuff, thing));//DOES remove handler, as a second call to $.proxy(doStuff, thing) is smart enough to know about similar use-cases

//Likewise, if you just passed 'thing.doStuff()' into the $.off() method, it would also work
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下划线绑定 vs jQuery.proxy vs Native 绑定 的相关文章

随机推荐

  • Angular 库包依赖项

    我使用 CLI 创建并捆绑了一个 Angular 7 2 0 库 ng g 库 MyLibrary ng 构建 MyLibrary 这给了我my libary umd js我需要的捆绑包 目前 所有依赖项都作为peerDependency
  • 如何在同一场战争的多个 jar 中使用相同的 CamelContext

    我使用的是camel 2 16 2 我需要在多个jar 中使用一个 CamelContext 因为我需要将所有 Camel 路由器放入一个 CamelContext 中 所以我的战争将把所有这些罐子作为 Maven 工件 请告诉我如何处理上
  • 设施位置的动态规划算法

    沿着一条线 在位置 a 1 a 2 a n 处有 n 栋房屋 我们希望沿着同一条线设置移动便盆 以便每间房屋都位于至少一个移动便盆的距离 R 内 这些便携式便盆仅限于指定位置 b 1 b 2 b m 令 c i 为在位置 b i 设置移动便
  • openapi-generator 复制 swagger-ui 中的端点

    openapi generator maven plugin 版本 6 3 0 在 Spring Boot 3 应用程序中配置如下
  • 分区比排序更容易吗?

    这是一个在我脑海里徘徊了一段时间的问题 假设我有一个项目列表和它们的等价关系 并且比较两个项目需要恒定的时间 我想退回一部分物品 例如链表的列表 每个链表包含所有等效项 实现此目的的一种方法是将等价性扩展到项目的排序并对其进行排序 使用排序
  • 在无向图中记录 DFS 搜索中的前驱

    我试图使用此线程中的代码 提升DFS back edge https stackoverflow com questions 19346820 boost dfs back edge 19391511 noredirect 1 commen
  • String.count() 是如何工作的? [复制]

    这个问题在这里已经有答案了 我是 python 和学习的新手 如所给出的here https www tutorialspoint com python string count htm count 方法在字符串上使用时给出子字符串在字符串
  • 如何为Java类创建两个接口,一个只读,一个读写?

    我正在用 Java 为一款两人纸牌游戏编写一个游戏引擎 我的学生将为该游戏编写 AI 玩家 人工智能玩家将轮流在他们面前的 桌子 的 场地 上打牌 他们可以用自己场上的牌攻击对方场上的牌 卡片可以面朝上或面朝下 GameEngine 类允许
  • 如何根据构建变体更改 AndroidManifest.xml 文件?

    我有一个具有多个构建变体的应用程序 这些变体用于为不同公司构建同一应用程序的版本 因此 我有几个不同的变体来构建不同的应用程序 com acme app1 com schmoe app2 com yop app3 etc build gra
  • 指定服务返回字段的最佳方法

    我们使用 Java EE 7 和 WildFly 9 来开发移动 Web 应用程序的自定义后端 后端是一个经典的三层系统 具有通信逻辑 JAX RS 业务逻辑 Session EJB 和持久层 Hibernate 业务逻辑层由一组服务组成
  • 压缩输出与 Go to Ruby 实现不同

    我正在实现一个程序 将文件压缩为 git blob 并适当存储它 我有一个红宝石参考实现 https github com sgen git deflate blob bugfix deflate deflate file这是基于git 书
  • “找不到主类。程序将退出”

    我正在尝试运行 SQuirreL SQL 我已经下载并安装了它 但是当我尝试运行它时 我收到以下错误消息 Java 虚拟机启动器 无法找到主类 程序将会退出 我明白了这一点 但我不知道如何解决它 有什么帮助吗 更多信息 我使用的是 Wind
  • Win32_Product 的替代品?

    尝试查询后Win32 Product寻找软件版本时 我无法理解为什么结果如此缓慢 比查询慢15倍Win32 service or Win32 process 所以来这里看看我是否遗漏了什么 我发现其他人也报告了同样的问题 而这个articl
  • 如何查看 JDBC / MySQL 的 TRANSACTION_REPEATABLE_READ 操作?

    我的计算机上当前运行 MySQL 服务器 5 7 16 并且此服务器上名为 Sakila 的数据库中有此示例行 mysql gt SELECT FROM actor WHERE last name tugay actor id first
  • 使用 vba 查看和隐藏 Excel 中的列

    我有一个工作表 其中 B G 列中包含值 在单元格 A1 的同一张表中 我使用数据验证创建了一个下拉列表 其中包含 A B 和 C 等值 我需要的是 当我选择单元格值 A 时 B C 列需要可见 而其他列应该对 D G 隐藏 以同样的方式
  • 如何实现多个PanGestures(可拖动视图)?

    我想要几个可以拖放的对象 这是我移动一个对象的代码 在 vacawama 的帮助下 import UIKit class ViewController UIViewController IBOutlet weak var panView U
  • 在后台运行进程,同时用户仍然可以使用 UI

    我试图在后台运行数据库获取过程而不锁定用户界面 目前我有一个按钮可以执行此操作 但我希望它是自动的 以便在用户浏览当前结果时可以获得更多结果 这是按钮执行的代码 我想使其自动执行而不锁定用户界面 此外 如果有一种方法可以暂停该过程 但如果用
  • EPPlus - 我是否需要对 ExcelRange 等对象调用 Dispose?

    我正在使用 C EPPlus 库创建 Excel 文档 ExcelWorksheet ws pkg Workbook Worksheets Add Sheet1 ws Cells E3 Value Foo ws Cells F3 Value
  • 使用桌面模式在手机上打开 flutter web

    我目前正在构建一个 flutter web 我已将屏幕 ui 分为 3 个部分 桌面 选项卡和手机的 ui 因此 假设当屏幕宽度 X1000 桌面 ui 时 到目前为止 它运行良好 但问题是 当我在手机浏览器中打开它并使用桌面模式 桌面站点
  • 下划线绑定 vs jQuery.proxy vs Native 绑定

    我在回调中遇到一些上下文问题 我用谷歌搜索并发现几个选项 本机绑定 旧浏览器不支持 jQuery 代理 下划线绑定 如果我不需要支持旧的浏览器 我肯定会使用本机绑定 应该注意这些之间有什么显着差异吗 这些可以用作致电 申请的替代方法吗 AF