Bootstrap js plugin source code how $('body').on('focus.typeahead.data-api', '[data-provide= "t



我在看bootstrap的js插件,即bootstrap typeahead.js。我不知道元素是如何选择的。

$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) 

我知道元素实际上是由数据提供部分选择的,但当我浏览jquery.js时,我不知道它是如何完成的。从.on()部分我转到event.add()部分,然后我变得更加困惑。有人能告诉我是怎么做到的吗?

我知道它的作用,但想知道如何。元素是如何选择的?我需要更多的想法。

on()方法的第一个参数是事件,在这种情况下它是按名称空间的-事件是typeahead.data-api命名空间中的focus

第二个参数是用于事件委派目的的筛选器选择器。实际的事件处理程序附加到body元素,但处理程序函数仅对来自具有data-provide属性且值为typeahead 的元素的事件执行

如果您正在搜索为什么的答案(正如我所做的。为什么有人会注册这样一个尴尬的焦点事件处理程序。),原因是纯基于html的预编控件初始化,如文档中所述:

<input type="text" data-provide="typeahead">

具有data-provide="typeahead"属性的节点在文档接收焦点时被激活为typeahead。。。

最新更新