jQuery 中改变 this 指向可以使用 $.proxy 方法
$.proxy 方法接受一个已有的函数, 并返回一个带特定上下文的新的函数.
该方法通常用于向上下文指向不同对象的元素添加事件.
语法:(相关课程推荐: jQuery 教程 https://www.html.cn/jskuangjia/jquery/ )
$(selector).proxy(function,context)
jQuery 改变 this 指向的示例:
- function show(){
- console.log(this) // 这里的 this 指向的是 Windows
- }
- var obj = {name:jack}
- show();
但是我想要 this 指向 obj, 这里就可以使用该方法了
- function show(a,b){
- console.log(this) // 这里的 this 指向的是 obj
- }
- var obj = {name:jack}
- var fn = $.proxy(show,obj); // 使用该方法其返回值是 函数
- fn(); // 调用该函数
本文来自 jQuery 答疑 https://www.html.cn/qa/jquery/ 栏目, 欢迎学习!
来源: http://www.css88.com/qa/jquery/15828.html