手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery的$.proxy()应用示例介绍
jQuery的$.proxy()应用示例介绍
摘要:今天在看时看到了proxy()的使用,感觉很模糊,就到处找资料.jQuery的源码也没看明白.不过总算明白了proxy的用法了;复制代码代码...

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

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

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">

<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的$.proxy()应用示例介绍】相关文章:

JavaScript中的fontsize()方法使用介绍

jQuery的基本概念与高级编程

JavaScript中的parse()方法使用简介

JavaScript中的italics()方法的使用介绍

JavaScript中的异常处理方法介绍

tagName的使用,留一笔

AngularJS中的一些常用指令介绍

JS中字符串trim()使用示例

JavaScript中的pow()方法使用

jQuery实现文本展开收缩特效

精品推荐
分类导航