我知道我们可以使用jQuery on()函数附加事件并再次删除它们off().
在现有项目中,我有时会遇到类似于此的代码:
$("#SomeId").off("click").on("click");
Run Code Online (Sandbox Code Playgroud)
或者有时使用类似于此的命名空间:
$("#SomeId").off("click.namespace").on("click.namespace");
Run Code Online (Sandbox Code Playgroud)
据我所知,您只能将单个事件附加到事件的特定命名空间.
例如,如果我只是这样做on("click")将附加我指定的函数,覆盖当前分配的函数,添加到"click"事件.
如果我这样做on("click.namespace")将附加我指定的函数覆盖当前分配的函数,添加到click.namespace.
通过链接off("click")到on("click)if on()已经替换分配给指定event/event.namespace的任何函数来删除任何事件的重点是什么?
它是我们代码中的冗余语法还是我错过了它的原因?
编辑 - 谢谢你kapa
我现在觉得有点傻,我纠正了我上面的错误知识.执行on("click.namespace1")几次我现在观察到data("events")对象不断添加到click事件数组.
我想那里回答了我自己的问题.这就是为什么人们会off("event.namespace")用来确保没有其他东西附加到那个确切的event/event.namespace.
jquery ×1