这个系列的第一篇教程明河讲述了:jquery插件开发规范,今天这篇教程明河将讲述jquery插件基础模板的缺陷。

在jquery插件实战教程,明河曾以Colortip文字提示插件,讲解了jquery插件的基础模板:
- (function($){
- $.fn.插件名 = function(settings){
- var defaultSettings = {
- }
- /* 合并默认参数和用户自定义参数 */
- settings = $.extend({},defaultSettings,settings);
- return this.each(function(){
- });
- }
- })(jQuery)
(明河再次提醒,这个基础模板很重要,尽量看懂用懂它。)
在教程的最后,明河同时也指出了Colortip这个插件的缺陷,Colortip的缺陷,归根到底还是jquery插件基础模板的缺陷引起的。
jquery插件基础模板的缺陷
1、难以实现类与类之间的继承
比如明河写了yitip,原理与colortip一样,但是无法通过扩展colortip的方式,只能重新写个完整插件。
2、无法开放API供外部调用
这是jquery插件基础模板最大的缺陷,以colortip例子,在初始化colortip后,你无法改变提示框出现的位置、内容、动画效果、延迟时间等,colortip没有相应的API,但是明河写的yitip,却可以实现相应的控制。
colortip的演示:http://www.36ria.com/demo/colortips/colortips.html
yitip的演示:http://www.36ria.com/demo/yitip/
可以看到yitip提供了相应的API供使用者操作,那么yitip又是如何实现API的开放呢?接下来的教程明河会展开叙述。
3、无法提供自定义事件支持
比如你想要在提示框显示前弹出一个对话框,在隐藏提示框后删除提示框等。
4、无法模拟出接口。
你无法很直观的知道你所使用的方法插件支不支持,插件到底有几个方法,传递给方法的参数个数和数据类型对不对等。
5、缺少debug能力。
插件有可能会调用失败,这时候你希望知道插件在调用的过程中所发生的所有的事,你需要打印一系列的流程到调用面板中,jquery插件基础模板无法提供这一功能。
结语
正是jquery插件基础模板存在如此多的缺陷,所以明河才觉得有必要讲述一个jquery插件的高级模板,用于解决这些缺陷。
下一篇教程:jquery插件的高级模板

确实是不错~~~~~~~
嘿嘿 坐个沙发
下一篇教程:jquery插件的高级模板什么时候有呢?
……草稿丢了,吐血三升,后来懒得补了,O(∩_∩)O哈!,也没人催……现在有人催了,kissy系列教程完成后就补上。
jquery插件的高级模板…跪求!!!
非常抱歉,原稿已经丢了,一直没去补。邮箱多少?回头我给你发一份。下面的教程在我完成kissy系列教程后,继续完成。
@明河共影, jimmy@igouda.com 感激不尽!
很棒的教程啊,期待这个系列的其他部分。
垫起脚望着下一篇教程
高级模板啊,明河大哥,还有高级模板后的更高级的,哈哈,发给我啊。
。。。。这二个月是没指望了,太忙了。不好意思,万分抱歉。
木有呢,下周更新个高级模板教程。
再等等,相信自己
一定会等到
…….我对不起广大观众,一拖再拖了。
请教明河大哥!
我在看你写的jquery.yitip.js的时候发现这样的语句:
“
//命名空间
var yijs = yijs || {};
”
这里的yijs 不永远是 yijs吗? 后面的空对象有什么用?
呵呵你好,这里面有做一个判断,如果在var yijs = yijs || {};代码前面存在 yijs命名空间,并且yijs下已经有方法了,比如yijs.test = function(){};如果不做一个判断直接var yijs = {};会把这个test方法直接干掉了,为了避免这个问题,所以加了个存在性的判断,即var yijs = yijs || {};
多谢明河兄!以前也看到过类似的语句,但是一直就没搞明白觉得有点多余。
这样做也就是说,在存在相同命名空间的条件下也可以继续添加新的方法。不影响以前的结构。
是的,就是这么一回事
我回复你,你能收到回复邮件?如果能,能告诉我下?我怀疑博客的邮件发送有问题。
明河兄,不好意思。这几天都在外面忙。我刚看了邮箱没有您回复的邮件提示哦。
非常感谢回复,这个邮件系统果然有问题,难怪,我回答别人问题,别人都没再回复。
我服务器上装的wordpress可以正常发送邮件,明河兄测试下sendmail是否工作正常!
恩,好的,我会去试下的。
大哥,《jquery插件的高级模板》教程在哪呢?
热血沸腾期待中。。。。
给我发一份:njl_041x@163.com 拜托了!!!
关注中。。
我上次回复的怎么没了呢?呵呵
上次的评论模板出问题了,所以丢失了部分评论,不好意思。
2012了,看看更新没!