扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间 .DOC

扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间 .DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间

Jquery插件开发有两种方式,一种是类级别,一种是对象级别。类级别比较简单,在上一篇中己经介绍过了。这里针对对象级别插件开发作一些细节上的说明。一般在实际开发中,更多的是采用对象级别的形式。? ? ? 扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱。 第一种方式: jQuery.fn.myPlugin = function(){ //你自己的插件代码 }; 第二种方式: $.fn.myPlugin = function(){ //你自己的插件代码 }; 说明:上面的fn是什么东西呢,也就是$.fn(等同于jQuery.fn)? 查看jQuery代码,就不难发现: jQuery.fn = jQuery.prototype = { init: function( selector, context ) { //....  //...... }; 原来 jQuery.fn = jQuery.prototype.对prototype肯定不会陌生啦。虽然javascript没有明确的类的概念,但是用类来理解它,会更方便。jQuery便是一个封装得非常好的类,比如 ?我们用 语句 $(#btn1) 会生成一个 jQuery类的实例。 ?jQuery.fn.extend(object), 对jQuery.prototype进行扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。即:$(#id).object(); ? ? 第一种方式中用户非常喜欢的$符号哪里去了? 它仍然存在,但是,为了避免和其他JavaScript库冲突,我们最好将jQuery传递给一个自我执行的封闭程序,jQuery在此程序中映射为$符号,这样可以避免$号被其他库覆写。 (function ($) { //$.myPlugin等同于var myPlugin等同于$.fn.myPlugin $.fn.myPlugin = function () { //你自己的插件代码 }; //省略其他的插件。注意如果是对象命名空间的话,一定要是json格式的 /* 比如 :(这里面的$.fn.plugins等同于$.plugin等同于var plugins,,其中前两个是jquery的写法,最后一个是js的写法) $.fn.plugins = { inits:function(){}, method:function(){}, positon:function(options,/*如果还有其他参数的话,用逗号隔开*/){} }; */ })(jQuery); 如果是多个插件的时候是这样的写法: (function ($) { //$.myPlugin等同于var myPlugin等同于$.fn.myPlugin $.fn.myPlugin = function () { //你自己的插件代码 };//注意这里是英文的分号 //省略其他的插件。注意如果是对象命名空间的话,一定要是json格式的 //比如$.fn.plugins = { inits:function(){},//这里是英文的逗号 method:function(){}//最后一个不要加任何的符号 } })(jQuery); 说明:在网上还有也见有如下这样子写的: (function($){ $.fn.myPlugin = function () { //你自己的插件代码 }; })(); 或者是如下这样的: (function($){ //如var defaults = function(){}; var 你要的变量名 = function(){ }; })(jQuery); 以上的这两种写法都是正确的,其中var defaults 是JavaScript的方式。它与$.fn.defaults是意义相同,但是有一点点区别。 细心的有时候也会发现有这样子的写法: ;(function($){ //如var defaults = function(){}; var 你要的变量名 = function(){ }; })(jQuery); 特别注意前面红色的分号,这样子的写法可以防止别人漏写jquery闭包后面的最后一个括号的分别,即是如下这样子的 (function($){ //如var defaults =

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档