jQuery插件开发的准备
2023-09-14 09:01:02 时间
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dba10g.blog.51cto.com/764602/239741
在开发jquery插件之前,需要有下面的准备工作。 1. 定义全局变量。就是可以使用“jQuery.methodName()”形式使用的函数
jQuery.func2 =function(param){
alert("this is function func2()----"+param+"----");
}
$.func3 = function(){
alert("this is function func3()----------");
}
/*
覆盖了func1()
*/
$.func1 = function(){
alert("this is function func1() override----------");
}
/*
也覆盖了前面已经定义的func1(),即使参数列表不一样,在JS中不存在重载的说法
*/
$.func1 = function(param){
alert("this is function func1() override--"+param+"-------");
}
/*------------------------------------
第2种声明全局函数
可能会出现与其他插件,函数名冲突的危险
------------------------------------*/
jQuery.extend({
func4:function(){
alert("this is named func4() defined by extend");
},
func5:function(param){
alert("this is named func5(param) defined by extend and parma ="+param);
}
});
/*
----------------------------------------------------------
第3种声明全局函数,可以防止包名冲突
调用形式
jQuery.myplugin.func6();
jQuery.myplugin.func7(我是个参数);
----------------------------------------------------------
*/
jQuery.myplugin = {
func6:function(){
alert("this is function named func6() by jQuery.myplugin");
},
func7:function(param){
alert("this is function named func7(param) by jQuery.myplugin and param="+param);
}
}
/*
第4种声明全局函数,和第三种效果一样
*/
jQuery.myplugin.func8 = function(){
alert("this is function named func8() by jquery.myplugin.func8--------");
2.声明对象的方法 扩展对象的内置方法,调用形式:obj.methodName()。其中obj 为jq对行啊,methodName为函数名称。
alert("func9() start---------"+this);
}
/* 应该返回jquery 对象,支持连缀功能*/
jQuery.fn.func10 = function(){
return this.each(function(){
alert("func10() start---------"+this);
})
}
// 只能使用defaults,不能使用其他标记
jQuery.fn.func11 = function(parameters){
defaults ={
aString:"byebye",
aNumber:250
};
jQuery.extend(defaults,parameters);
alert("aString="+defaults.aString+" aNumber="+defaults.aNumber);
注意jquery 对象环境。有时候jquery 引用对象是个数组,可以通过隐式迭代来防止该情况发生,比如方法func10。 还要注意方法连缀,防止破坏破坏作用发生。可以使用pushStack、 end 方法实现(不太明白)。 在参数传递过程中,注意extend方法的使用,该方法主要作用是为了简化继承。而且extends 目标对象只能是defaults,不能是其他关键字。
在开发jquery插件之前,需要有下面的准备工作。 1. 定义全局变量。就是可以使用“jQuery.methodName()”形式使用的函数
jQuery.func2 =function(param){
alert("this is function func2()----"+param+"----");
}
$.func3 = function(){
alert("this is function func3()----------");
}
/*
覆盖了func1()
*/
$.func1 = function(){
alert("this is function func1() override----------");
}
/*
也覆盖了前面已经定义的func1(),即使参数列表不一样,在JS中不存在重载的说法
*/
$.func1 = function(param){
alert("this is function func1() override--"+param+"-------");
}
/*------------------------------------
第2种声明全局函数
可能会出现与其他插件,函数名冲突的危险
------------------------------------*/
jQuery.extend({
func4:function(){
alert("this is named func4() defined by extend");
},
func5:function(param){
alert("this is named func5(param) defined by extend and parma ="+param);
}
});
/*
----------------------------------------------------------
第3种声明全局函数,可以防止包名冲突
调用形式
jQuery.myplugin.func6();
jQuery.myplugin.func7(我是个参数);
----------------------------------------------------------
*/
jQuery.myplugin = {
func6:function(){
alert("this is function named func6() by jQuery.myplugin");
},
func7:function(param){
alert("this is function named func7(param) by jQuery.myplugin and param="+param);
}
}
/*
第4种声明全局函数,和第三种效果一样
*/
jQuery.myplugin.func8 = function(){
alert("this is function named func8() by jquery.myplugin.func8--------");
2.声明对象的方法 扩展对象的内置方法,调用形式:obj.methodName()。其中obj 为jq对行啊,methodName为函数名称。
alert("func9() start---------"+this);
}
/* 应该返回jquery 对象,支持连缀功能*/
jQuery.fn.func10 = function(){
return this.each(function(){
alert("func10() start---------"+this);
})
}
// 只能使用defaults,不能使用其他标记
jQuery.fn.func11 = function(parameters){
defaults ={
aString:"byebye",
aNumber:250
};
jQuery.extend(defaults,parameters);
alert("aString="+defaults.aString+" aNumber="+defaults.aNumber);
注意jquery 对象环境。有时候jquery 引用对象是个数组,可以通过隐式迭代来防止该情况发生,比如方法func10。 还要注意方法连缀,防止破坏破坏作用发生。可以使用pushStack、 end 方法实现(不太明白)。 在参数传递过程中,注意extend方法的使用,该方法主要作用是为了简化继承。而且extends 目标对象只能是defaults,不能是其他关键字。
本文出自 “简单” 博客,请务必保留此出处http://dba10g.blog.51cto.com/764602/239741
相关文章
- 生成二维码的 jQuery 插件:jquery.qrcode.js
- JQuery日期插件详解编程语言
- jQuery获取select中所有option值详解编程语言
- jQuery延迟加载(懒加载)插件 – jquery.lazyload.js详解编程语言
- jquery插件jbox使用iframe关闭问题
- jquery插件开发方法小结
- 基于jquery的cookie的用法
- 基于jquery的合并table相同单元格的插件(精简版)
- 23个超流行的jQuery相册插件整理分享
- jqPlot基于jquery的画图插件
- Jquery中删除元素的实现代码
- jquery插件学习(三)
- jQuery插件开发全解析
- jQuery选择表格(table)里的行和列及改变简单样式
- jquery插件开发注意事项小结
- 2013年优秀jQuery插件整理小结
- 开发插件的两个方法jquery.fn.extend与jquery.extend
- jquery动态改变onclick属性导致失效的问题解决方法
- jquery操作cookie插件分享
- jquery插件之定时查询待处理任务数量
- Jquery图片延迟加载插件jquery.lazyload.js的使用方法
- jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析