您的位置:首页 > 其它

jq的插件的写法

2016-06-16 15:56 295 查看
两种方式:

方法一:

$.extend({add:function(a,b){return a+b}});

$.extend(src)//将src合并到全局对象中去

使用方式 var i=$.add(3,2);

方法二:

$.fn.extend({name:function(){}});

 jQuery.fn = jQuery.prototype//也就是jQuery对象的原型

$.fn.extend(src)//方法将src合并到jquery的实例对象中去

使用方式:$('input[type=checkbox]').check();基于对象的拓展了

 那jQuery.fn.extend()方法就是扩展jQuery对象的原型方法就相当于为对象添加”成员方法“,类的”成员方法“要类的对象才能调用,所以使用jQuery.fn.extend(object)扩展的方法, jQuery类的实例可以使用这个“成员函数”。jQuery.fn.extend(object)和jQuery.extend(object)方法一定要区分开来。

(function($){
//内部插件代码的实现
//为插件内部的代码不污染全局变量
//使用$.extend(defaults,options)将默认值和传入参数进行合并
var defaults={//为扩张方法设置默认值
name:'我的插件',
version:"1.0"
}
$.fn.createPage=function(options){//插件的名称

}

})(jQuery)

我们最好将jQuery传递给一个自我执行的封闭程序,jQuery在此程序中映射为$符号,这样可以避免$号被其他库覆写

这是jQuery官方的插件开发规范,这样写是作用是:

1. 避免全局依赖。

2. 避免第三方破坏。

3. 兼容jQuery操作符’$'和’jQuery’

在插件的this代表这个插件要执行的jquery对象

在插件中没必要写$(this)  因为在插件中的$(this)=$($('element'))

什么是自执行的匿名函数?     

它是指形如这样的函数: (function {// code})();

例子:

(function($){
$.fn.createPage=function(options){//插件的名称
var args = $.extend({ //这里的参数是可改项
 pageCount : 10, 

current : 1, 

 backFn : function(){} 

  },options); 

  ms.init(this,args); 

}

var ms={

init:function(obj,args){

方法代码内容

}

}

})(jQuery)
使用方式:

$(".tst").createPage({  //基于对象的方法

  pageCount:10, 

  current:1, 

  backFn:function(p){ 

   点解方法

  } 

 }); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: