javascript代码实例教程-jQuery的$.proxy()应用示例介绍

发布时间:2018-12-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-jQuery的$.proxy()应用示例介绍脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

今天在看<<锋利的jQuery>>时看到了Proxy()的使用,感觉很模糊,就到处找资料.

javascript代码实例教程-jQuery的$.proxy()应用示例介绍

&nbsp;

jquery的码也没看明白.

不过总算明白了PRoxy的用法了;

. 代码如下:


<input tyPE="button" value="测试" id="guoBTn" name="我是按钮的name"/>


. 代码如下:


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>>上的一个例子了.

. 代码如下:


<p id="panel" style="display:none;">
<button>Close</button>
</p>


. 代码如下:


$("#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.

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-jQuery的$.proxy()应用示例介绍全部内容,希望文章能够帮你解决javascript代码实例教程-jQuery的$.proxy()应用示例介绍所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。