欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JQuery1.6 使用方法三

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

相關(guān)文章

最新評論