Javascript 如何在jQuery.on函数中设置事件

Javascript 如何在jQuery.on函数中设置事件,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,查看引导库,我发现在使用.on函数时, 事件是这样写的: $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { // some code }) 将事件编写为单击.button.data api而不是单击? 单击是否足够 “按钮”和“数据api”是事件名称,在事件名称后用分隔 当然,只需单击一次“click”,它就可以工作,但当引导程序使用.off(“click”)关闭数据A

查看引导库,我发现在使用.on函数时,
事件是这样写的:

  $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
    // some code
  })
将事件编写为
单击.button.data api
而不是
单击

单击
是否足够

“按钮”
“数据api”
是事件名称,在事件名称后用
分隔


当然,只需单击一次
“click”
,它就可以工作,但当引导程序使用
.off(“click”)
关闭数据API时,这会中断不相关的代码。对于名称空间,它们可以调用
.off(“click.data api”)
以仅删除属于引导数据api的事件。

.button
。在这种情况下,数据api
是名称空间。我不确定bootstrap在内部使用它们的目的是什么,但是是的,
单击就足够了。通常会对事件进行命名,以便以后可以轻松删除这些事件,而无需删除所有单击事件。+1感谢您的回答。那么名称空间
按钮
呢。它可以是像
div
这样的元素,也可以是
类名
之类的元素吗?@LorraineBernard
“button”
这里并不是指button元素,它只是一个为引导按钮插件命名的任意字符串。例如,如果调用
$(document).off(“.button”)
,则引导按钮小部件将停止工作。将事件名称保留在这里意味着命名空间
“button”
中的所有事件,因此这意味着我可以制作类似
$(document).on('click.button.data api.other string'…
)和
$(document).off('other string')
$(document).off('button.data api'))
都是等效的吗?@LorraineBernard则该处理程序属于3个不同的名称空间,并且两个
.off
调用都限定要删除的处理程序。但它们并不等效,
$(document)。off('.other string')
将只删除自定义处理程序,而不是属于按钮和数据api名称空间的引导处理程序。