gpt4 book ai didi

javascript - 像 jQuery 中那样的命名空间普通 JavaScript 事件

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:36 24 4
gpt4 key购买 nike

在 jQuery 中,当您设置一个事件时,您可以为其命名空间。这意味着(如果您愿意)您可以有多个调整窗口大小的事件,例如,并且能够单独解除绑定(bind)它们而不解除绑定(bind)该选择器上的所有事件。

jQuery 命名空间示例:

$(window).on('scroll.myScrollNamespace, function() ...

我想知道如何在纯 JavaScript 中创建命名空间。这显然行不通:

window.addEventListener('resize.myScrollNamespace', function() ...

最佳答案

如果不是匿名函数:

window.addEventListener('resize', function () {...});

你使用命名函数:

window.addEventListener('resize', function myScroll() {...});

那么你可以使用:

window.removeEventListener('resize', myScroll);

确保您有 myScroll在适用范围。当你在不同的地方删除监听器而不是添加它们时,也许你应该在一些外部范围内定义你的函数并在 addEventListener 中使用它们的名称。与 removeEventListener 中的方式相同:

function myScroll() {
// ...
}

window.addEventListener('resize', myScroll);

window.removeEventListener('resize', myScroll);

如果您希望能够一次移除多个监听器,那么您必须将它们存储在某个数组中,并为其每个元素调用 removeEventListener。

参见 EventTarget.removeEventListener() 文档。

关于javascript - 像 jQuery 中那样的命名空间普通 JavaScript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800882/

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