gpt4 book ai didi

javascript - jQuery.off 不使用变量函数名称

转载 作者:行者123 更新时间:2023-11-30 06:36:11 24 4
gpt4 key购买 nike

我正在使用模块化模式编写我的 Javascript 代码,这非常有趣!但我在一种情况下陷入了困境。

我的命名空间如下:

var settings, handlers, objects,
Namespace = {
handlers: {
//All event handlers go here
},

objects: {
//All jquery button references go here
},

init: function(){
//Initial stuff
}
};

//Call init with the Namespace

我有一个按钮,可以在单个对象(div)上的 mousedown 事件的两个不同处理程序之间切换,并且处理程序是 handlers 对象的属性。在 init 上,一个处理程序自动 on 到 div 并且工作正常。现在,当我单击切换按钮时,我试图关闭第一个处理程序以便打开另一个,但它不起作用!

我打开 on 我的第一个 mousedown 事件处理程序(或与此相关的所有处理程序!),如下所示:

Namespace.objects.someObject.on('mousedown', Namespace.handlers.mouseDownHandlerOne);

这很好用。当我尝试像这样关闭时:

Namespace.objects.someObject.off('mousedown', Namespace.handlers.mouseDownHandlerOne);

没用!没有错误或警告。如果我只是将 offmousedown 一起使用而不传递处理程序名称,它就可以工作。但我需要将 2 个不同的处理程序分开!

在模块化的js环境下应该怎么做?

最佳答案

Jquery .off 方法最多可以带3个参数,使用如下代码:

Namespace.objects.someObject.off('mousedown', '**', Namespace.handlers.mouseDownHandlerOne);

关于javascript - jQuery.off 不使用变量函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com