实现jQuery扩展总结

开发自己需要的jQuery插件,看个示例说明
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title> new document </title>
<meta name="generator" content="editplus">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
/*
jQuery插件的开发包括两种:
一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,
另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。

1、类级别的插件开发
类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$.AJAX()这个函数,将函数定义于jQuery的命名空间中。关于类级别的插件开发可以采用如下几种形式进行扩展:
*/
//1.1定义一个全局函数
jQuery.foo = function() {
alert(‘添加一个新的全局函数‘);
}
//定义多个全局函数
jQuery.bar = function() {
alert(‘再增加一个全局函数‘);
}
//1.2使用extend定义全局函数
jQuery.extend({
foo1:function() {
alert(‘extend 定义全局函数1‘);
},
bar1:function() {
alert(‘extend 定义全局函数2‘);
}
});
//1.3 使用命名空间定义函数
jQuery.plugin = {
foo2:function() {
alert(‘使用namespace定义函数‘);
}
}

$(function(){
$.foo();
$.bar();
$.foo1();
$.bar1();
$.plugin.foo2();
});

/*
2、对象级别的插件开发
对象级别的插件开发需要如下的两种形式:
*/
//形式一
(function($){
$.fn.extend({
foo3:function() {
alert(‘对象级别插件extend方式1‘);
},
bar3:function() {
alert(‘对象级别插件extend方式2‘);
}
})
})(jQuery);

//形式二
(function($){
$.fn.foo4 = function() {
alert(‘对象级别插件fn方式‘);
}
})(jQuery);

//接收参数来控制插件的行为
(function($){
$.fn.bar4 = function(options) {
var defaults = {aaa:‘1‘,bbb:‘2‘};
var opts = $.extend(defaults, options);
alert(‘参数值:aaa:‘+opts.aaa+‘;bbb:‘+opts.bbb);
}
})(jQuery);

//提供公有方法访问插件的配置项值
(function($){
$.fn.foo5 = function(options) {    
var opts = $.extend({}, $.fn.foo5.defaults, options);
alert(‘参数值:aaa:‘+opts.aaa+‘;bbb:‘+opts.bbb);
}
$.fn.foo5.defaults = {aaa:‘1‘,bbb:‘2‘};
})(jQuery);

//提供公有方法来访问插件中其他的方法
(function($){
$.fn.bar5 = function(options) {
$.fn.bar5.alert(options);
}
$.fn.bar5.alert = function(params) {
alert(params);
}
})(jQuery);

$(function(){
$(‘#test‘).foo3();
$(‘#test‘).bar3();
$(‘#test‘).foo4();
$(‘#test‘).bar4();
$(‘#test‘).bar4({aaa:‘3‘});
$(‘#test‘).bar4({aaa:‘3‘,bbb:‘4‘});
$(‘#test‘).foo5();
$(‘#test‘).foo5({aaa:‘5‘,bbb:‘6‘});
$(‘#test‘).bar5(‘aaaa‘);
});
</script>
</head>

<body>
<div id="test"></div>
</body>
</html>

时间: 2024-08-11 15:58:51

实现jQuery扩展总结的相关文章

区域及分离、Js压缩、css、jquery扩展

后台管理区域及分离.Js压缩.css.jquery扩展 本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱佛脚.深圳最近的天气反常,许多人感冒了,我也成为其中之一,大家注意身体... 这一篇,我来简单的讲一下接下来项目中会用到的一些杂七杂八的技术. 区域及分离 在15.ASP.NET MVC入门到精通——MVC-路由中,我已经简要说明了区域的分离.

26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 有好一段时间没更新博文了,最近在忙两件事:1.看书,学习中...2.为公司年会节目做准备,由于许久没有练习双截棍了,难免生疏,所以现在临时抱佛脚.深圳最近的天气反常,许多人感冒了,我也成为其中之一,大家注意身体... 这一篇,我来简单的讲一下接下来项目中会用到的一些杂七杂八的技术. 区域及分离 在15.ASP.NET MVC入门到精通——MVC-路由中,我已经简要说明了区域的分离. 1.右键单击Web项目,“添加”——“区域”,区域名,

Javascript对象、Jquery扩展简单应用

Javascript对象,表现方式一: 1 person = new Object(); 2 person.firstname = "An"; 3 person.lastname = "na"; 4 person.age = 12; 5 alert(person.age); Javascript对象,表现方式二: 1 function person(firstname, lastname, age) { 2 this.firstname = firstname; 3

jquery 扩展和插件的写法

1.jquery扩展的方法常用的就是$.fn.xxx, 这个我理解的其实扩展jquery 实例中的属性或者方法 (function ($) { $.fn.alertSelf = function () { $(this).on('click',function () { alert( $(this).html() ); }) } })(jQuery); 这个扩展jquery实例中的方法,使用方法$("#idxx").alertSelef() 给某个节点添加了一个绑定弹出自身内容的方法

一个jQuery扩展工具包

带有详尽注释的源代码: var jQuery = jQuery || {}; // TODO // ###################################string操作相关函数################################### jQuery.string = jQuery.string || {}; /** * 对目标字符串进行html解码 * * @name jQuery.string.decodeHTML * @function * @grammar j

自定义jQuery扩展

项目中js往往会有些比较常用的函数,这时就可以把这些函数封装到一起.如果项目使用jQuery则可以封装成jQuery的扩展.jQuery扩展一般有两种方式,一种是对jQuery本身的扩展,一种是jQuery对象的扩展. jQuery本身的扩展即把函数封装在jQuery名称空间下,通过jQuery.funcName的形式调用.如:jQuery.ajax({param1:value1,param2,value2[,...]}); jQuery对象的扩展,即扩展到jQuery查找到DOM后的对象下,通

Jquery扩展-手把手带你体验

Jquery扩展是在项目中经常用到的,有时候为了提取一些公共方法,有时候为了模块化管理等等,下面我们来体验一下.当然扩展离不开Jquery几个基础方法 1:$.extend() 2:$.fn.functionName 添加新的方法 介绍1:$.extend方法 (1):合并到Jquery全局变量 $.extend({ sayHi: function (content) { console.log("say:" + (content ? content : "default&q

jQuery扩展$.fn、$.extend jQery命名方法扩展 练习总结

<script>$.fn.hello = function(){  //扩展jQuery实例的自定义方法,基于$.fn的jq方法扩展    this.click(function(){        alert('hello');    })}$('input').hello();  // 点击input正确出弹窗 'hello'</script> <script>$.fn.extend({  //用extend扩展jQuery实例的自定义方法    hello:fun

jQuery扩展插件以及正则相关函数练习

一.jQuery扩展插件 二.相关正则函数:

Python之Web前端jQuery扩展

Python之Web前端: 一. jQuery表单验证 二. jQuery扩展 三. 滚动菜单 一. jQuery表单验证: 以下表单验证使用两种方式简单实现: (一). 使用DOM表单验证 (二). 使用jQuery表单验证 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>表单验证DOM<