一般来说,深入研究 javascript 和插件,我正在查看一些现有代码 - jQuery 的 tokenImput 插件。
这确实是一个更通用的问题 - 为什么内部“主力”对象TokenList
以 jquery 为前缀$
(即为什么将其添加到 jquery 的名称空间)?
这是一个相关的插图:
// Expose the .tokenInput function to jQuery as a plugin
$.fn.tokenInput = function(method) {
... this is the "public" entry point ...
... which, simplified, does something like this
... to crank up the pluging functionality
new $.TokenList(this, url_or_data_or_function, settings));
};
// TokenList class for each input
$.TokenList = function(input, url_or_data, settings) {
//
// Initialization
//
// Configure the data source
if ($.type(url_or_data) === "string" || $.type(url_or_data) === "function") {
... this is the encapsulation
... that doesn't seem logical to belong to jQuery ...
插件通过以下方式使用tokenInput
:
$(element).tokenInput(svcUrl, {...});