JQuery1.6使用方法三
作者:手机用户2502920117 | 来源:互联网 | 2022-10-13 17:21
JQuery1.6使用方法三,想要学习jquery的朋友可以参考下。
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 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();
},
推荐阅读
-
这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefinedwindow.undefined;是为了兼容低版本的IE而写的因为在低版本 ...
[详细]
蜡笔小新 2024-09-30 13:40:32
-
本文目录一览:1、想学python去哪里比较好? ...
[详细]
蜡笔小新 2024-09-30 11:08:52
-
-
本节书摘来自华章计算机《Web前端开发最佳实践》一书中的第2章,第2.2节,作者:党 建更多章节内容可以访问云栖社区“华章计算机”公众号查看。2.2 前端代码重构代码 ...
[详细]
蜡笔小新 2024-09-28 11:34:29
-
子元素过滤器在页面设计过程中需要突出某些行时,可以通过基本过滤选择器中的:eq()来实现表单中行的凸显,但不能同时让多个表具有相同的效果。在jQuer ...
[详细]
蜡笔小新 2024-09-27 04:00:36
-
结束jquery时间不长,写代码感觉很生,而且敢接写起来很费劲做点简单的总结。首先主要要先引入.juery.js文件第二一些js插件文件也要在jquer ...
[详细]
蜡笔小新 2024-09-26 12:38:56
-
Vue项目结构分析-项目结构重点在src文件夹:assets——静态资源,如css,jscomponents——公共组件router——路由文件(vuecli3.x没有自 ...
[详细]
蜡笔小新 2024-09-30 20:43:16
-
1做一个网站的步骤清楚需求和大概的效果(登录主题新增查看主题列表)2清楚数据库和结构3需要静态资源(htmlcss图片)登录表用户表主题表新闻的id主 ...
[详细]
蜡笔小新 2024-09-30 20:22:48
-
FroggerTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:32257Accepted:10396DescriptionFr ...
[详细]
蜡笔小新 2024-09-30 20:13:09
-
蜡笔小新 2024-09-30 19:37:45
-
3295:[Cqoi2011]动态逆序对Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除 ...
[详细]
蜡笔小新 2024-09-30 16:34:49
-
猫猫分享,必须精品原文地址:http:blog.csdn.netu013357243articledetails44571163素材地址:http:download.csdn.n ...
[详细]
蜡笔小新 2024-09-30 15:47:15
-
蜡笔小新 2024-09-30 15:14:04
-
安装Git完毕(在开始菜单打开的话,打开的不是你想要的路径,切换路径很麻烦)1.D盘新建GitTest文件夹2.打开GitTest,在空白的地方右键,3.单击GitBashHere ...
[详细]
蜡笔小新 2024-09-30 14:07:01
-
原文,因为原视频说的太快太长,又没有字幕,于是借助youtube,把原文听&打出来了。中文版日后有时间再翻译。oneofthebigsucceessfactorshereatSpo ...
[详细]
蜡笔小新 2024-09-30 13:36:17
-
MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ...
[详细]
蜡笔小新 2024-09-30 13:26:10
-
手机用户2502920117
这个家伙很懒,什么也没留下!