JQuery1.6 使用方法三


Posted in Javascript onNovember 23, 2011

a={id:1,get:function(){alert(this.id)}}

$("#test").click(a.get)//这时候所指的id就不是1,而是test

如果想要得到的是1,那就必须改变上下文环境$.

$.proxy()的作用就是改变当前上下文环境。

$("#test").click($.proxy(a,"get"))

$("#test").click($.proxy(a.get,a))

proxy: function( fn, context ) {//改变函数上下文环境,this指向设置的对象

这里的参数可以有两种方式:函数fn fn的方法context

 函数的方法fn[context] 函数fn
if ( typeof context === "string" ) {//如果content是字符串,那么会认为是fn的一个方法 fn[ context ],并在接下来判断是否是函数
var tmp = fn[ context ];
context = fn;
fn = tmp;
}
if ( !jQuery.isFunction( fn ) ) {//不是函数立刻返回undefined
return undefined;
}
var args = slice.call( arguments, 2 ),//把fn,content后面的参数作为要执行的函数参数
proxy = function() {
return fn.apply( context, args.concat( slice.call( arguments ) ) );//返回设置了指定上下文环境的可执行函数,fn为可执行行数,把this指向content,args.concat( slice.call( arguments ) )作为参数,
};
proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;//一个全局的计数器,用于标识该函数可以用来删除
return proxy;
},
//access这个方法主要是在jquery内部使用,用于attr,prop,css;主要设置DOM组(jquery对象)单个或者多个属性、样式的值,获取DOM组(jquery对象)某个属性、样式的值
//elems操作的对象组,key属性,value属性值,exec默认true,fn用来操作的函数,pass主要在attr的时候设置val,css,html,text,data,width,height,offset的时候应该为true.
access: function( elems, key, value, exec, fn, pass ) {
var length = elems.length;
//设置多个属性
if ( typeof key === "object" ) {//如果属性值是对象,将循环设置dom组(jquery对象)的属性和对应的值
for ( var k in key ) {
jQuery.access( elems, k, key[k], exec, fn, value );
}
return elems;//返回结果
}
// 设置单个属性
if ( value !== undefined ) {//如果value存在,设置某个属性,可以是一组对象或者单个;如果不存在,即获取doms[0](jquery对象)某个属性值,只能返回带一个对象,或者由于对象不存在直接返回undefiend;
exec = !pass && exec && jQuery.isFunction(value);//目前jquery默认pass为空null,exec为true,value是否为函数
for ( var i = 0; i < length; i++ ) {
fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );//如果exec为true,,传入操作对象的序列和操作属性值作为参数,否则,设置属性key的值为value
}
return elems;
}
// 获取属性
return length ? fn( elems[0], key ) : undefined;
},
now: function() {//返回当前时间
return (new Date()).getTime();
},

Javascript 相关文章推荐
用javascript实现的激活输入框后隐藏初始内容
Jun 29 Javascript
Jquery Ajax xmlhttp请求成功问题
Feb 04 Javascript
JavaScript处理解析JSON数据过程详解
Sep 11 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
Aug 08 Javascript
JavaScript之cookie技术详解
Nov 18 Javascript
vue-router单页面路由
Jun 17 Javascript
AngularJS中ng-class用法实例分析
Jul 06 Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
vue实现a标签点击高亮方法
Mar 17 Javascript
发布Angular应用至生产环境的方法
Dec 10 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
Oct 12 Javascript
jQuery1.6 使用方法二
Nov 23 #Javascript
jQuery1.6 使用方法一
Nov 23 #Javascript
JS 表单验证大全
Nov 23 #Javascript
JavaScript中的16进制字符(改进)
Nov 21 #Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 #Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 #Javascript
页面调用单个swf文件,嵌套出多个方法。
Nov 21 #Javascript
You might like
PHP使用SOAP调用API操作示例
2018/12/25 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
asp 的 分词实现代码
2007/05/24 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
Vuex的基本概念、项目搭建以及入坑点
2018/11/04 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
Python实现一个简单的递归下降分析器
2020/08/01 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
八项规定整改方案
2014/02/21 职场文书
化工专业求职信
2014/07/01 职场文书
佛光寺导游词
2015/02/10 职场文书
搞笑结婚保证书
2015/05/08 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js