如何扩展jquery.插件超过多个文件
how to expand jquery.plugin over multiple files
我现在的插件变得非常大(现在刚刚超过8000行),我想知道是否有一种方法可以将它分类到不同的文件中。
就像node.js中的require函数一样,但是对于jquery,所以它会被分类到更多的文件中,从而更清晰地排列。
正如@jcubic提到的,你需要把你的代码分成单独的模块/功能。
将所有方法存储在某种类型的方法对象中(当然也可以在插件名称空间中)。这也可以很容易地添加到另一个文件中,甚至可以从另一个文件扩展。
var methods = (function ($) {
return {
init : function () { initMethod(); },
another : function () { anotherMethod(); },
thirdThing : function () { thirdThing(); },
etcEtc : function () { etcEtc(); }
};
}(jQuery));
我强烈推荐使用方法调用的方式来创建jQuery插件,这将利用这个对象。
$.fn.pluginName = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.tooltip');
}
};
现在一切都分开了,你可以通过$('whatever').pluginName('methodhere');
等来调用你的模块
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 合并TinyMCE(jQuery插件)文件
- 使用filetransfer/cordova插件上传一些文件
- 使用Tabris-js,并尝试使用cordova文件和文件传输插件
- 在部署ckeditor时,我需要包括插件文件夹吗
- IE 9 BHO插件.加载外部JS文件时出现错误SCRIPT1014
- Firefox插件:保存到文本文件的HTTP日志,其中包含时间、用户名、计算机名;t创建文本文件
- 在jquery的另一个文件上浏览jquery插件
- 如何在ngCordova文件插件中使用readAsText时设置编码
- 链接配置文件插件不起作用
- Cordova 3.6.3文件插件-在android上获取本地视频文件
- 更新的iOS设备上的Cordova文件插件错误代码3(Abort_Error)
- Cordova 3.5 android文件插件中的NullPointer异常
- Cordova文件插件从未在Android中准备好
- Cordova文件插件没有写入文件
- Cordova文件插件不工作
- 使用委托动态添加jQuery上传文件插件
- 使用Meteor的Cordova文件插件,在getDirectory()回调中接收一个代码:5 ENCODING_ERR
- Cordova文件插件FileReader.readAsText收到错误,但不调用错误回调
- 科尔多瓦文件插件与应用程序浏览器插件和文件打开器插件