jQuery的$.proxy()应用示例介绍

 更新时间:2014年04月03日 15:41:15   作者:  
这篇文章主要介绍了jQuery的$.proxy()应用,需要的朋友可以参考下
今天在看<<锋利的jQuery>>时看到了proxy()的使用,感觉很模糊,就到处找资料.

 

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>>上的一个例子了.
复制代码 代码如下:

<div id="panel" style="display:none;">
<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.

相关文章

  • jQuery实现的简单拖动层示例

    jQuery实现的简单拖动层示例

    这篇文章主要介绍了jQuery实现的简单拖动层,可实现响应鼠标拖动div层及动态显示坐标值的功能,涉及jQuery鼠标响应及页面元素属性相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • easyui下拉框动态级联加载的示例代码

    easyui下拉框动态级联加载的示例代码

    本篇文章主要介绍了easyui下拉框动态级联加载的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • jquery中判断图片是否存在的实现代码

    jquery中判断图片是否存在的实现代码

    有时候我们需要判断当前的图片是否存在,方便后期做一些操作,当然也可以参考上一篇文章,如果不存在就替换位默认图片
    2023-06-06
  • jquery实现盒子下拉效果示例代码

    jquery实现盒子下拉效果示例代码

    当把鼠标移动到盒子上的时候上面就会出现一个黑色的盒子,这是在浏览网页的时候看到的一个效果,具体实现如下,感兴趣的朋友可以了解下
    2013-09-09
  • jQuery内置的AJAX功能和JSON的使用实例

    jQuery内置的AJAX功能和JSON的使用实例

    通过jQuery内置的AJAX功能,访问后台获得JSON格式的数据,然后通过jQuer把数据直接在页面上显示,需要的朋友可以参考下
    2014-07-07
  • jQuery Dialog 取消右上角删除按钮事件

    jQuery Dialog 取消右上角删除按钮事件

    这篇文章主要介绍了jQuery Dialog 取消右上角删除按钮事件的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 突发奇想的一个jquery插件

    突发奇想的一个jquery插件

    这两天突发奇想,结果就做了一个jQ的tip插件,形状就像下面这样。会随title的多少改变大小的哟.
    2010-11-11
  • jQuery实现磁力图片跟随效果完整示例

    jQuery实现磁力图片跟随效果完整示例

    这篇文章主要介绍了jQuery实现磁力图片跟随效果,结合完整实例形式分析了jQuery事件响应及animate方法实现带缓冲效果的图片跟随效果,需要的朋友可以参考下
    2016-09-09
  • jQuery实现遮罩层登录对话框

    jQuery实现遮罩层登录对话框

    用户登录是许多网站必备的功能。有一种方式就是不管在网站的哪个页面,点击登录按钮就会弹出一个遮罩层,显示用户登录的对话框。本文将推荐一个带二维码的登录弹出层,可拖动、关闭,有需要的朋友可以参考一下。
    2016-12-12
  • jQuery实现弹出窗口中切换登录与注册表单

    jQuery实现弹出窗口中切换登录与注册表单

    本文给大家推荐的是一款jQuery实现弹出窗口中切换登录与注册表单的特效。适用浏览器:IE8+、FireFox、Chrome、Safari、Opera。十分的方便实用,有需要的小伙伴可以参考下。
    2015-06-06

最新评论