日期:2012-5-9 来源:GBin1.comhtml
随 着愈来愈多的开发人员开始开发jQuery插件,因此咱们随时都有可能遇到很烂的插件开发“成果”。没有在线演示,没有文档,或者插件没有遵循最佳编码实 践。可是对于阅读这篇文章的朋友来讲,你很幸运,由于这里咱们将介绍14个jQuery插件开发中最容易犯的错误。但愿你们会以为有帮助!jquery
随着jQuery的普遍使用,天天都出现不少新的插件 ,可是问题在于不少插件真不怎么样。设计模式
之前咱们介绍过10个帮助你建立超棒jQuery插件的小技巧,在今天这篇文章中,咱们将专一于jQuery插件的最佳开发实践,但愿对于你们有帮助,若是你喜欢咱们的文章,请给咱们留言,谢谢! this
总的来讲,这里有不少你们接受的jQuery开发的模式。 若是你没有听从这些设计模式,你开发的插件有可能很“垃圾“。看看以下最经常使用的模式:编码
(function($, window, undefined){ $.fn.myPlugin = function(opts) { var defaults = { // 设置你的选项缺省值 } // 使用用户的选项缺省值来扩展缺省选项 var options = $.extend(defaults, opts || {}); return this.each(function(){ // jQuery链式操做 // 插件的相关内容 }); })(jQuery, window);
首 先呢,咱们建立了一个自调用的匿名方法来将咱们插件中的参数和外部全局参数隔离开。咱们传递$,window,和undefined三个变量参数。这些变 量和自调用的方法将和jQuery和window一块儿调用。对于undefined来讲没有传递任何值,所以若是咱们决定在插件中使用undefined 关键字的话,其实”undefined“并无被定义。spa
使用这种方法能够有效的保证外部脚本被隔离而没法给undefined变量赋值,例如,将没法赋值undefined为true。prototype
$被做为jQuery来传递;咱们使用这种方法来保证在匿名方法的外部,$仍旧能够参考为其它内容,例如,prototype。插件
传递变量给全局性访问的window对象能容许更多通过压缩最小化(minification)处理的代码(固然,压缩是应该作的)设计
下 一步,咱们将使用jQuery插件的模式, $.fn.PluginName。这用来登记你的插件使得其能被应用到 $(selector).method()格式中。简单使用new来扩展jQuery的prototype。若是你想建立一个jQuery的方法的话,只 须要直接添加以下代码:code
....
....