gpt4 book ai didi

javascript - Jquery 函数处理程序复杂

转载 作者:行者123 更新时间:2023-11-28 19:22:40 25 4
gpt4 key购买 nike

我只是在查看button.js的源代码,发现了以下代码片段:

$(document).on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
Plugin.call($btn, 'toggle')
e.preventDefault()
})

我对 Jquery 并不陌生,但我是一个初学者,现在我了解了 on() 函数在 Jquery 中的工作原理。

我对上面这段代码的问题是,我不太明白附加到 on() 函数的事件,让我解释一下:

$(document).on('click.bs.button.data-api'

我不太明白这个事件是什么:

click.bs.button.data-api

在普通的 Jquery 代码中,我通常会看到如下内容:

$('body').on('click' , '.btn' , function(e){
// do something
});

但是这个处理程序完全让我摆脱了困境,有人可以解释一下该代码的作者通过添加该处理程序到底实现了什么吗?

这是插件 git 存储库上的链接:Line 106

最佳答案

这是一个事件命名空间。

根据 .on() 上的 jQuery 文档:

An event name can be qualified by event namespaces that simplifyremoving or triggering the event. For example, "click.myPlugin.simple"defines both the myPlugin and simple namespaces for this particularclick event. A click event handler attached via that string could beremoved with .off("click.myPlugin") or .off("click.simple") withoutdisturbing other click handlers attached to the elements. Namespacesare similar to CSS classes in that they are not hierarchical; only onename needs to match. Namespaces beginning with an underscore arereserved for jQuery's use.

关于javascript - Jquery 函数处理程序复杂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28504872/

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