gpt4 book ai didi

jquery - jQuery 中的命名空间函数

转载 作者:行者123 更新时间:2023-12-03 23:03:55 24 4
gpt4 key购买 nike

这两段代码有什么区别?两者都工作得很好,那么为什么在函数中使用 .dropdown.data-api 呢?我在互联网上读到了有关命名空间的信息,但我对此并不清楚。谁能告诉我命名空间函数有什么用?

$('html').on('click.dropdown.data-api',
function () {
$el.parent().removeClass('open')
})
}

$('html').on('click',
function () {
$el.parent().removeClass('open')
})
}

最佳答案

如果您希望解除绑定(bind)或触发特定事件,则通过为事件命名可以定位特定事件。

假设您有两个相同类型的事件绑定(bind)到相同的元素。

$('.something').on('click', function() { /* do something */ });
$('.something').on('click', function() { /* do something else */ });

由于我们没有为任一事件命名,因此现在很难解除绑定(bind)或触发其中一个事件,但无法触发另一个事件。现在考虑:

$('.something').on('click.one', function() { /* do something */ });
$('.something').on('click.two', function() { /* do something else */ });

因为这次每个事件都有自己的命名空间,所以我们现在可以触发或取消绑定(bind)其中一个,而另一个保持不变。

$('.something').off('click.one'); //unbind the 'one' click event
$('.something').trigger('click.two'); //simulate the 'two' click event

[编辑 - 正如 @jfrej 在下面指出的那样,命名空间意味着您有时甚至不需要引用事件类型名称。因此,如果您在单个命名空间上同时发生了鼠标悬停和单击事件,则可以使用 off('.namespace') 取消两者的绑定(bind)。]

关于jquery - jQuery 中的命名空间函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11393811/

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