JQuery 实践--扩展JQuery
- Why扩展JQuery
通过扩展可以利用JQuery所提供的现有代码基础。避免从头编写代码 - 有效扩展JQuery的规则
扩展JQuery的两种形式: $上直接定义实用工具函数 和JQuery包装集进行操作的方法
1. 文件名以 jquery为前缀
2. 前缀后接插件的名称
3. 文件名以.js结尾
4. 小心$. 用本地化方式引用JQuery: (function($){xxx})(jQuery)
5.简化复杂的参数列表:选项散列对象,多个可选参数被击中到单个参数,object名/值对 $.extend(options, actual|| {}) - 编写自定义的实用工具函数
添加一个函数作为Object实例的属性,就像声明函数并指派到Object属性那样简单
(function($){
$.funName = function(name){xxx}
})(jQuery) - 编写自定义的包装器方法
通过添加包装器方法,我们自动地获得了jQuery选择器的强大能力以便选择将要操作的元素,而不必亲自完成所有的工作
包装器方法,必须把包装器方法指派为$命名空间内名为fn的对象属性
(function($){
$.fn.funcname = function(params){ return this.css(xxx)}
})(jQuery)
方法体内,this是引用包装集,所以可以在上面调用所有预定义的jQuery命令. 如果在包装集方法中声明内联函数,则包装器方法和内联函数用于各自不同的函数上下文。要注意。(闭包)规则: 除非有意地让方法返回特定的值,否则应该总是返回包装集作为包装器方法的返回值。这个规则可以让新命令应用于jQuery链
JQuery 实践--扩展JQuery的更多相关文章
- JQuery实践--Why JQuery
给页面增加动态功能的工作流模式:选择一个元素或一组元素,然后以某种方式对其进行操作. 利用原始的JavaScript完成这些任务中的任何一个,都会需要数十行代码,JQuery让这些常见的任务变得简单 ...
- 详细图解jQuery对象,以及如何扩展jQuery插件
详细图解jQuery对象,以及如何扩展jQuery插件 早几年学习前端,大家都非常热衷于研究jQuery源码.我还记得当初从jQuery源码中学到一星半点应用技巧的时候常会有一种发自内心的惊叹,“原来 ...
- 前端基础进阶(十一):详细图解jQuery对象,以及如何扩展jQuery插件
早几年学习前端,大家都非常热衷于研究jQuery源码.我还记得当初从jQuery源码中学到一星半点应用技巧的时候常会有一种发自内心的惊叹,“原来JavaScript居然可以这样用!” 虽然随着前端的发 ...
- 扩展 jquery miniui 组件实现自动查询数据
主题 之前写过一篇文章分享了公司basecode查找数据后台是怎么实现的(http://www.cnblogs.com/abcwt112/p/6085335.html).今天想分享一下公司前台是怎么扩 ...
- 扩展jquery easyui datagrid编辑单元格
扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...
- jQuery实践树(2)
上一个实践主要对jquery的ready事件进行.本实践要来使用jQuery改变页面的背景图片.可以先试试效果:http://hovertree.com/texiao/jquerytree/2/ 当你 ...
- 利用jQuery来扩展一个瀑布流插件
简单了解jQuery.fn.extend() jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). (截图来自jQuery文档) 为了更清晰 ...
- 扩展JQuery和JS的方法
//JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展 var aClass = function(){} //1 定义这个类的静态方法 aC ...
- JS,JQuery的扩展方法
转 http://blog.csdn.net/tuwen/article/details/11464693 //JS的扩展方法: 1 定义类静态方法扩展 2 定义类对象方法扩展 ...
随机推荐
- c++ string类型成员变量在调用构造函数后未能正确赋值
struct RelItem{ string segName; Elf32_Rel* rel; string relName; RelItem(string seg, int addr, string ...
- API参考
http://www.yfvb.com/help/win32sdk/index.htm?page=html/13dsy.g.htm
- ARTS 第八周打卡
Algorithm : 做一个 leetcode 的算法题 13. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I ...
- 控制层解析post请求中json数据的时候,有些属性值为空
原因: 1.默认json数据解析的时候,值会赋给键的首字母是小写的封装的bean中的属性,如果没有首字母小写的属性,也不会报错.即bean中有getXXX方法时,从json到model会增加xxx属性 ...
- 接口请求 URL转码
什么是URL转码 不管是以何种方式传递url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符. 尤其是当传递的url ...
- 怎样理解数组的空元素empty与undefined的区别
数组的空元素empty表示空位, 它不是一种数据类型, 而是由于人为修改arr.length 或者写入时多写了逗号造成的. var arr = [1,2,3,4,,,5]; arr.length; a ...
- C#特性 详解
一:Conditional:条件特性,预定义了一个条件方法. 使用方法: [Conditional("DEBUG")] public void test() { MessageBo ...
- 动态规划-最大算式 蓝桥杯ALGO-116
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...
- S2-019、S2-020
前言 “Struts2系列起始篇”是我整各系列的核心,希望大家能花些时间先看看. 正文 我发现关于一些早期的Struts2的漏洞,网上的分析文章并不多,不知道是不是我打开浏览器的方式不对,唯一看到的两 ...
- undefined reference to `udev_device_get_action'
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libusb-1.0.a(libusb_1_0_la-linux_udev.o): In ...