gpt4 book ai didi

javascript - jQuery - 注册/取消注册元素 "document"的监听器

转载 作者:行者123 更新时间:2023-12-02 13:49:25 25 4
gpt4 key购买 nike

我会尝试解释我的问题。我正在使用 mouseup 事件监听器,因此我可以在执行单击时检查目标是否不是所需的元素。这是我正在使用的代码:

function clickOutListener(element, callbackFunction){

$(document).mouseup(function(e){

if(!$(element).is(e.target) && $(element).has(e.target).length === 0) callbackFunction.call(this, null);

});
}

如您所见,事件监听器绑定(bind)到全局文档元素,解除绑定(bind)的方法是:

$(document).off("mouseup");

这就是我需要实现的目标。如果我取消绑定(bind) mouseup 监听器,它将影响使用此监听器的其他元素(下拉列表和其他功能)。我必须猜测,每次我注册一个监听器时,它都不会覆盖以前定义的监听器,而是添加定义的目标函数。

如何访问相同监听器的不同定义目标函数?

$(document).mouseup(funct1);
$(document).mouseup(funct2);
$(document).mouseup(funct3);

如何取消注册“funct2”的已注册监听器?

提前谢谢您。

最佳答案

使用 .on() 语法时,您可以为事件命名。

$(document).on('mouseup.myNamespace', function(e){ ... }

这允许您按 namespace 删除事件,同时保留其他事件。

$(document).off('mouseup.myNamespace');

关于javascript - jQuery - 注册/取消注册元素 "document"的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41118867/

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