JQuery.proxy(function,context):
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括拜泉網(wǎng)站建設(shè)、拜泉網(wǎng)站制作、拜泉網(wǎng)頁制作以及拜泉網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,拜泉網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到拜泉省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
使用context代替function中的context。
比如:
var you = {
type: "person",
test: function(event) {
$("#log").append( this.type + " " );
}
$("#test").click(you.test);調(diào)用這句只有相當(dāng)于調(diào)用:
$("#test").click(function(event){
$("#log").append( this.type + " " );
});
所以這里的this指的是$("#test").
如果這樣調(diào)用:$("#test").click($.proxy(you.test,you));
此時(shí)的調(diào)用相當(dāng)于:
$("#test").click(function(event){
$("#log").append( you.type + " " );
});
雖然調(diào)用事件的對(duì)象是$("#test"),但是卻可以使用$.proxy把事件執(zhí)行內(nèi)的對(duì)象改變?yōu)閥ou。
JQuery.proxy(context,functionname):
第一個(gè)參數(shù)是你想proxy的對(duì)象,第二個(gè)參數(shù)為要改變的函數(shù)的名字。
var obj = {
name: "John",
test: function() {
$("#log").append( this.name );
$("#test").unbind("click", obj.test);
}
};
$("#test").click( jQuery.proxy( obj, "test" ) ); 把obj作為context傳入test中,而不是$("#test").
這個(gè)執(zhí)行完之后,結(jié)果會(huì)是John,
如果使用下面這句
$("#test").click(obj.test);
結(jié)果會(huì)是$("#test").的name值。
這個(gè)函數(shù)和上面的那個(gè)函數(shù)的功能一樣,就是使用了更加簡(jiǎn)潔的方式。