亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JQuery1.6 使用方法三

 更新時(shí)間:2011年11月23日 18:37:02   作者:  
JQuery1.6 使用方法三,想要學(xué)習(xí)jquery的朋友可以參考下。
a={id:1,get:function(){alert(this.id)}}
  $("#test").click(a.get)//這時(shí)候所指的id就不是1,而是test
  如果想要得到的是1,那就必須改變上下文環(huán)境$.
  $.proxy()的作用就是改變當(dāng)前上下文環(huán)境。
  $("#test").click($.proxy(a,"get"))
  $("#test").click($.proxy(a.get,a))
  proxy: function( fn, context ) {//改變函數(shù)上下文環(huán)境,this指向設(shè)置的對(duì)象
    這里的參數(shù)可以有兩種方式:函數(shù)fn fn的方法context
                 函數(shù)的方法fn[context] 函數(shù)fn
if ( typeof context === "string" ) {//如果content是字符串,那么會(huì)認(rèn)為是fn的一個(gè)方法 fn[ context ],并在接下來判斷是否是函數(shù)
var tmp = fn[ context ];
context = fn;
fn = tmp;
}
if ( !jQuery.isFunction( fn ) ) {//不是函數(shù)立刻返回undefined
return undefined;
}
var args = slice.call( arguments, 2 ),//把fn,content后面的參數(shù)作為要執(zhí)行的函數(shù)參數(shù)
proxy = function() {
return fn.apply( context, args.concat( slice.call( arguments ) ) );//返回設(shè)置了指定上下文環(huán)境的可執(zhí)行函數(shù),fn為可執(zhí)行行數(shù),把this指向content,args.concat( slice.call( arguments ) )作為參數(shù),
};
proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;//一個(gè)全局的計(jì)數(shù)器,用于標(biāo)識(shí)該函數(shù)可以用來刪除
return proxy;
},
//access這個(gè)方法主要是在jquery內(nèi)部使用,用于attr,prop,css;主要設(shè)置DOM組(jquery對(duì)象)單個(gè)或者多個(gè)屬性、樣式的值,獲取DOM組(jquery對(duì)象)某個(gè)屬性、樣式的值
//elems操作的對(duì)象組,key屬性,value屬性值,exec默認(rèn)true,fn用來操作的函數(shù),pass主要在attr的時(shí)候設(shè)置val,css,html,text,data,width,height,offset的時(shí)候應(yīng)該為true.
access: function( elems, key, value, exec, fn, pass ) {
var length = elems.length;
//設(shè)置多個(gè)屬性
if ( typeof key === "object" ) {//如果屬性值是對(duì)象,將循環(huán)設(shè)置dom組(jquery對(duì)象)的屬性和對(duì)應(yīng)的值
for ( var k in key ) {
jQuery.access( elems, k, key[k], exec, fn, value );
}
return elems;//返回結(jié)果
}
// 設(shè)置單個(gè)屬性
if ( value !== undefined ) {//如果value存在,設(shè)置某個(gè)屬性,可以是一組對(duì)象或者單個(gè);如果不存在,即獲取doms[0](jquery對(duì)象)某個(gè)屬性值,只能返回帶一個(gè)對(duì)象,或者由于對(duì)象不存在直接返回undefiend;
exec = !pass && exec && jQuery.isFunction(value);//目前jquery默認(rèn)pass為空null,exec為true,value是否為函數(shù)
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,,傳入操作對(duì)象的序列和操作屬性值作為參數(shù),否則,設(shè)置屬性key的值為value
}
return elems;
}
// 獲取屬性
return length ? fn( elems[0], key ) : undefined;
},
now: function() {//返回當(dāng)前時(shí)間
return (new Date()).getTime();
},

相關(guān)文章

最新評(píng)論