是否将新插件附加到 $
Attaching new plugin to $ or not?
我写了一个插件(使用jquery(。
我应该把它附加到jquery的美元符号上吗?
$.myPlugin=...
还是应该将其附加到window.myPlugin=...
?
当然,如果没有 jQuery 这个插件就无法工作。 但这是否意味着我应该创建一个 GOD 对象($( 并将所有内容附加到它(美元符号(。
?(假设$
是页面上的单个库对象(
根据 jQuery 站点,您应该将其附加到 jQuery
对象,甚至不要附加到$
(可能会或可能不会重用(。请参阅 http://learn.jquery.com/plugins/basic-plugin-creation/。
请注意,典型的模式是在定义中使用$
作为别名:
(function ( $ ) {
// jQuery recommends avoiding more than one instance method, instead taking
// a parameter, or better yet, an extensible options object:
$.fn.instanceMethod = function(options) {
//...
return this;
};
$.classMethod = function () {
//....
};
}( jQuery ));
如果你的插件依赖于jQuery,最好把它附加到$
符号(或jQuery
(。使用 IIFE(立即调用的函数表达式(时,您可以安全地执行此操作
(function($){
// you code here that does $.myPlugin=...
})(jquery);
相关文章:
- jQuery插件-从插件中调用公共方法
- 更改新的脸书页面插件宽度
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 美国地图插件,具有状态数据/悬停功能的新按钮
- 将jquery插件应用于angularJS ng repeat中的新项目
- 火狐插件不会打开带有url的新标签
- 设计模式以实现依赖于其他插件的插件
- 检查网格插件 ExtJs 中的新元素
- gulp-watch 插件不会在新文件上触发
- 如何为 jvectormap jquery 插件生成新地图
- RequireJS 插件:使用插件时遇到的加载超时
- JQuery插件:在插件内部使用$(this)的函数's选项
- 一些jquery插件不适用于新版本的jquery库
- Babel v6:我如何/可以编写一个添加新语法(即新运算符)的插件
- 是否将新插件附加到 $
- 在新的多进程Firefox中从网页调用插件
- 将CSS设置添加到新的JQuery插件中
- jTable插件:添加新行后,动态表不会刷新
- 如何使用HTML5或JavaScript查看RTSP流,而无需在Real Player插件上使用VLC插件等插件
- 如何将jQuery代码转换为插件?以及插件开发模式