- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 =
您可能关注的文档
最近下载
- 人教版(新插图)五年级上册数学全册教学课件.pptx
- 《机械制图与CAD绘图》课件——剖视图.pptx VIP
- TEAC V-970X_R-919X三磁头卡座维修手册.pdf
- 03S402 室内管道支架及吊架.docx VIP
- 体例格式6:工学一体化课程《windows服务器基础配置与局域网组建》任务7学习任务分析表.docx VIP
- 【初中生物】光合作用第一课时 2024--2025学年北师大版生物七年级上册(2024版).pptx VIP
- 高标准农田高效节水灌溉工程建设项目建议书.pdf VIP
- 统编版(2024新版)七年级上册历史必背知识点提纲详细版 .pdf VIP
- SL 228-2013 混凝土面板堆石坝设计规范.pdf VIP
- 个人简历表格下载word(最新).pdf VIP
原创力文档


文档评论(0)