小白教程
所有教程
关于
Search
172.69.7.20
172.69.7.20
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Event proxy”的源代码
本页内容
上一节:
Event_one
下一节:
Event_ready
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:$.proxy()}}[[Category:jquery ref events|47]] = jQuery $.proxy() 方法 = [[jquery ref events|jQuery 事件方法]] 强制执行 objPerson 内的 "test" 函数的上下文: <sample title="" desc="" lang="html" hererun="1"> $("button").click($.proxy(objPerson,"test")); </sample> <run name=""> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>小白教程(xiaobai.wang)</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(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")); }); </script> </head> <body> <button>执行 test 函数</button> <p></p> </body> </html> </run> == 定义和用法 == $.proxy 方法接受一个已有的函数,并返回一个带特定上下文的新的函数。 该方法通常用于向上下文指向不同对象的元素添加事件。 '''提示:'''如果您绑定从 $.proxy 返回的函数,jQuery 仍然可以通过传递的原先的函数取消绑定正确的函数。 == 语法 1 == $(selector).proxy(function,context) <run name=""> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>小白教程(xiaobai.wang)</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(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(); }); </script> </head> <body> <div>这是一个 div 元素。</div> </body> </html> </run> == 语法 2 == $(selector).proxy(context,name) <run name=""> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>小白教程(xiaobai.wang)</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(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")); }); </script> </head> <body> <button>执行 test 函数</button> <p></p> </body> </html> </run> {| class="table table-striped table-hover" ! 参数 ! 描述 |- | function | 要被调用的已有的函数。 |- | context | 函数所在的对象的名称。 |- | name | 已有的函数,其上下文将被改变(应该是 context 对象的属性)。 |} [[jquery ref events|jQuery 事件方法]]
返回至“
Event proxy
”。
上一节:
Event_one
下一节:
Event_ready