码迷,mamicode.com
首页 > 其他好文 > 详细

jQ插件编写

时间:2015-07-15 20:43:09      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

参考文档:http://www.cnblogs.com/Dlonghow/p/4142034.html

编写插件最先接触到的就是jQuery.fn.extend 和jQuery.extend 这个两个属性,但是这两个东西是什么,干啥用的,还得先明白:

1、jQuery.extend(object)

  a)、为jQuery添加静态方法

    eg : jQuery.extend({

        min:function(a,,b){return a<b?a:b},

        max:function(a,b){return a>b?a:b}

        });

        jQuery.min(2,3)  //2

  b)、jQuery.extend(target,object1,[objectN]) 用一个对象或多个对象来扩充对象,最后返回扩充的对象

    eg: 

      var target = {
        name : ‘zt‘,
        age  : 24
      }
      var object1 = {
        name : ‘zj‘,
        age : ‘28‘,
        address : ‘ly‘
      }
      console.log(jQuery.extend(target,object1));  // {name:‘zj‘,age:‘28‘,address:‘ly‘};

2、jQuery.fn.extend(object);

  $.fn是什么?

  $.fn是指jQuery的命名空间,fn上的成员(方法function及属性property),会对jQuery实例每一个有效。 

  

  查看jQuery代码,就不难发现。

  jQuery.fn = jQuery.prototype = {

     init: function( selector, context ) {//.... 

  };

  原来 jQuery.fn = jQuery.prototype.

  所以,它是对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

  比如我们要开发一个插件,做一个特殊的编辑框,当它被点击时,便alert 当前编辑框里的内容。可以这么做:

  $.fn.extend({          
       doAlertWhileClick:function() {            
            $(this).click(function(){                 
                    alert($(this).val());           
              });           
        }       
  });       
  $("#input1").doAlertWhileClick(); // 页面上为:    

  $("#input1") 为一个jQuery实例{不太懂?},当它调用成员方法 doAlertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。

 

3、在实际的开发项目中:{pluginName为插件名称}

  开发插件,是$.fn.pluginName = function(options){  }; 如果pluginName 为变量, 则写成 $.fn[pluginName] = function(options){  }

jQ插件编写

标签:

原文地址:http://www.cnblogs.com/zouer/p/4649161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!