JQ插件写法 扩展JQ方法
目录:
1.基本JQ扩展插件js的格式
2.对JQ选中元素的方法的扩展,调用类似于$("selector").myMethod(),这里的myMethod是自己扩展的方法,与.click()同理
3.对JQ自身的方法扩展,调用类似于$.ajax();
一、基本JQ扩展插件的格式
一个扩展插件的格式一般是:
(function($){.........})(jQuery);
当然,为了防止压缩合并等操作时,它前面的js代码没有结束分号而引起错误,这里可以在前面加个;就是:
;(function($){.........})(jQuery);
传入参数可以有多个,比如:
;(function($, window,document,undefined){.........})(jQuery,window, document);
引用这种写法的插件时,务必要在引入jquery本身之后,再引入插件。
二、对JQ选中元素的方法的扩展,调用类似于$("selector").myMethod()
类似于.click(),.show()这种调用方式的方法。。属于对jQuery.fn的扩展,所以,扩展自己的方法,这样写:
$.fn.extend({
myMethod: function () {
//用this可以拿到调用该方法的jq dom元素
//do your work
}
});
或者:
$.fn.myMethod = function(){
//用this可以拿到调用该方法的jq dom元素
//do your work
};
$("#dd").click();
例如:
封装一个方法:alertWhileClick,点击input时控制台打印出当前input输入框的内容
$.fn.alertWhileClick = function(){
$(this).click(function () {
console.log($(this).val());
});
调用:
$("#demo1Input").alertWhileClick();
试一下:
https://hamupp.github.io/gitblog/app/jquery/extendDemo.html
二、对JQ自身的扩展,调用如$.ajax()
$.extend({
myMethod: function (param1, param2....需要传入的参数) {
//do your work
}
});
例如扩展一个得到最大最小值的方法:
$.extend({
min: function (a, b) {
//do your work
return a < b ? a : b;
},
max: function (a, b) {
return a > b ? a : b;
}
});
调用如下:
var result = $.max(10,20);//得到10和20中最大的树
JQ插件写法 扩展JQ方法的更多相关文章
- jq插件写法
如今做web开发,jQuery 几乎是必不可少的,同时jquery插件也是不断的被大家所熟知,以及运用.最近在搞这个jquery插件,发现它的牛逼之处,所以讲一讲jQuery插件的写法以及使用 (f ...
- jq 插件写法
1.一次声明一个函数 $.fn.函数名 = function([options]){} $.fn.red=function(options){ var defaults = { 'color': 'r ...
- css/jq--弹窗写法介绍,jq插件介绍
//html文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 利用jQuery对插件进行扩展时,方法$.extend()、$.fn.extend()区别与联系
利用JQ开发插件的方法: 1.jQuery.extend(); 2.jQuery.fn.extend(); 3.通过$.widget()应用jQuery UI的部件工厂方式创建. 由于第三种方式通 ...
- JQ插件之imgAreaSelect实现对图片的在线截图功能(java版)
前言:在做网站的时候经常用的功能就是,用户上传图片对自己上传的图片进行截图,DIV自己的头像.或者上传幻灯片大图进行DIV设置小图. 解决方案:目前我知道的解决方案有两个如下: 一.fla ...
- 一个简单而实用的JQ插件——lazyload.js图片延迟加载插件
前 言 Cherish 看多了炫酷的插件之后再来看这么一个小清新的东西,是不是突然感觉JQ插件感觉很友好了,简单强大最重要的是实用. 这篇文章将详细讲解一下lazyload.js的用法 lazy ...
- 创建jq插件步骤
无意看了这篇<jQuery插件开发精品教程,让你的jQuery提升一个台阶>文章,现在做一下总结. 一.jQuery插件的创建可以有三种方法 1.通过$.extend()来扩展jQuery ...
- 怎么写jq插件?
1.概述 先看看html代码 <ul id="catagory"> <li><a href="#">jQuery</a ...
- jq插件处女座 图片轮播
好久没写博客了,变得好懒呀,无地自容.最近一直在学sass和jq插件的写法,照猫画虎的谢了一个jq的插件,也算是第一次真正称得上插件的插件 ,废话不多说 上代码 (function($) { $.fn ...
随机推荐
- clipboard异步复制文本(动态获取文本)
1.需求描述: 点击“分享”按钮的时候,发送 ajax 请求获得动态邀请连接,成功取得数据后复制到剪贴板 2.解决重点: > Clipboard 动态设置文本的使用 > Ajax请求设置为 ...
- ubuntu16.04上安装tomcat7
sudo apt-get update sudo apt-get install tomcat7 启动:sudo service tomcat7 start 访问http://127.0.0.1:80 ...
- Java DecimalFormat的主要功能及使用方法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字.该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言.阿拉伯语和印度语数字的支持. ...
- Nginx 多重条件判断
server{ listen 80; server_name xxx.com; index index.html index.htm index.php admin.php; root /home/w ...
- BeautifulSoup中的find,find_all
1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法. 以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautif ...
- 《剑指offer》第三十八题(字符串的排列)
// 面试题38:字符串的排列 // 题目:输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串abc, // 则打印出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca ...
- Android移动应用界面的模板化设计
Android没有像苹果开发那样功能强大的界面开发工具,本身 ADT插件提供的界面编辑能力有限,没办法刻画所有的界面情况:Android的界面xml代码可以进行人工修改,而Iphone的全部在图形界面 ...
- Spring AMQP 源码分析 03 - MessageConverter
### 准备 ## 目标 了解 Spring AMQP 消息转化实现 ## 相关资源 Quick Tour for the impatient:<http://docs.spring.io/ ...
- robot 批处理文件
robot自带的ride工具不好用,就像填表格似的写脚本,太拘束.所以一直在用sublime text写robot脚本,但是也有问题:用sublime text写的脚本,只能运行一个文件的case,并 ...
- 1.python+selenium利用cookie,跳过验证码直接登录
方法1 在登录时,叫代码等待一段时间,然后手动输入验证码 # coding:utf-8 from selenium import webdriver import time url = 'http:/ ...