国产探花免费观看_亚洲丰满少妇自慰呻吟_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.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 綦江县| 扎囊县| 盐边县| 阜康市| 都昌县| 蕉岭县| 会理县| 思南县| 岚皋县| 安庆市| 壶关县| 方山县| 东光县| 高雄县| 蛟河市| 宝清县| 印江| 莱西市| 溧阳市| 永靖县| 巫山县| 长阳| 芮城县| 图们市| 湘潭县| 普格县| 峨眉山市| 偏关县| 肃宁县| 乃东县| 新竹县| 武山县| 左贡县| 呈贡县| 灵璧县| 岳普湖县| 什邡市| 三江| 新营市| 朔州市| 汾西县|