jQuery $.proxy() 方法

  • 定义和用法

    $.proxy 方法接受一个已有的函数,并返回一个带特定上下文的新的函数。
    该方法通常用于向上下文指向不同对象的元素添加事件。
    提示:如果您绑定从 $.proxy 返回的函数,jQuery 仍然可以通过传递的原先的函数取消绑定正确的函数。
  • 语法

    $.proxy(function,context)
    $.proxy(context,name)
  • 参数

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

    下例演示了强制执行 objPerson 内的 "test" 函数的上下文:
    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>欢迎来到菜鸟教程</title>
       //此版本是百度cdn 1.11.1,当然你可以使用更高的版本,从2.0版本以上的是不支持ie6-8的
       <script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
       <script>
           $(document).ready(function () {
              var objPerson = {
                name: "John Doe",
                age: 32,
                test: function(){
                  $("p").after("姓名: " + this.name + "<br> 年龄: " + this.age);
                }
              };
              $("button").click($.proxy(objPerson,"test"));
           });
       </script>
    </head>
    <body>
       <button>执行 test 函数</button>
    </body>
    </html>
    
    尝试一下