$.proxy的使用

1、$.proxy 方法接受一个已有的函数,并返回一个带特定上下文的新的函数。

有两种语法:语法1:$(selector).proxy(function,context)

                      语法2:$(selector).proxy(context,name)

参数:

function 要被调用的已有的函数。
context 函数所在的对象的名称。
name 已有的函数,其上下文将被改变(应该是 context 对象的属性)。
例:

1、$(document).ready(function(){
test=function()
{
this.txt="这是一个对象属性";
$("div").click($.proxy(this.myClick,this));
};

test.prototype.myClick = function(event)
{
alert(this.txt);
alert(event.currentTarget.nodeName);
};

var x = new test();
});

<div>这是一个 div 元素。</div>

2、$(document).ready(function(){

  var objPerson = {
    name: "John Doe",
    age: 32,
    test: function(){
      $("p").after("Name: " + this.name + "<br> Age: " + this.age);
    }
  };
  $("button").click($.proxy(objPerson,"test"));

});

<button>执行 test 函数</button>
<p></p>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值