国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery的$.proxy()應用示例介紹

2024-05-06 16:03:36
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了jQuery的$.proxy()應用,需要的朋友可以參考下

今天在看<<鋒利的jQuery>>時看到了proxy()的使用,感覺很模糊,就到處找資料.

jQuery的$.proxy()應用示例介紹

 

jQuery的源碼也沒看明白.

不過總算明白了proxy的用法了;

復制代碼 代碼如下:


<input type="button" value="測試"/>


復制代碼 代碼如下:


var obj = {
name: "我是obj的name",
sayName: function () {
alert(this.name);
}
}
$("#guoBtn").click(obj.sayName); //我是按鈕的name
// 如果我想訪問obj的name怎么辦呢?
$("#guoBtn").click($.proxy(obj.sayName,obj));//"我是obj的name"
$("#guoBtn").click($.proxy(obj, "sayName")); //"我是obj的name"


從上面proxy(a,b)的用法可以看出他的參數有兩種寫法.

第一種:a是一個function函數,b是這個函數的對象所有者.

第二種:a是一個對象,b是一個字符串,是a的屬性名.

還有這個實例就是<<鋒利的jQuery>>上的一個例子了.

復制代碼 代碼如下:


<div>
<button>Close</button>
</div>


復制代碼 代碼如下:


$("#panel").fadeIn(function () {
$("#panel button").click(function () {
$(this).fadeOut();
});
});



button雖然消失了,但是panel卻沒有消失.可以使用proxy來解決這個問題.

復制代碼 代碼如下:


$("#panel").fadeIn(function () {
var obj = this;
$("#panel button").click($.proxy(function () {
$(this).fadeOut();
}, obj));
});


這樣單擊按鈕之后,panel才會消失.

個人感覺proxy最主要就是用來修改函數執行時的上下文對象的.

是在apply的基礎上做的封裝,所以說proxy就是我們jQuery自己的apply.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 凤山市| 铜山县| 新郑市| 博乐市| 台安县| 梨树县| 汝州市| 沾益县| 罗甸县| 高碑店市| 阳原县| 福安市| 瑞昌市| 石狮市| 安阳县| 孝义市| 玉门市| 巴青县| 玉环县| 维西| 周至县| 麻江县| 南陵县| 梁山县| 调兵山市| 黔江区| 长白| 武清区| 太仆寺旗| 安岳县| 志丹县| 临清市| 盐亭县| 苏尼特左旗| 武义县| 峨眉山市| 巢湖市| 德惠市| 鄂伦春自治旗| 库伦旗| 乌恰县|