js绑定事件this指向发生改变的问题解决方法


Posted in Javascript onApril 23, 2013

可对函数进行如下扩展

Function.prototype.bind = function(obj) { 
var _this = this; 
return function() { 
_this.apply(obj,arguments); 
} 
}

用法如下
var a = function(){ 
alert(this.title) 
}.bind(document); 
a();

常用在这儿
function myalert() { 
this.title = 'hello world'; 
this.init = function() { 
$("#xxx").click(this.close.bind(this)); 
} 
this.close = function() { 
alert(this.title) 
} 
}

<P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; MARGIN-TOP: 0px; FONT-FAMILY: 微软雅黑, 宋体, 'Trebuchet MS', Tahoma, Arial, sans-serif; MARGIN-BOTTOM: 10px; COLOR: rgb(34,34,34); FONT-SIZE: 14px; PADDING-TOP: 0px" class=p1>var a  = new myalert();</P><P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; MARGIN-TOP: 0px; FONT-FAMILY: 微软雅黑, 宋体, 'Trebuchet MS', Tahoma, Arial, sans-serif; MARGIN-BOTTOM: 10px; COLOR: rgb(34,34,34); FONT-SIZE: 14px; PADDING-TOP: 0px" class=p1>a.init();</P>
Javascript 相关文章推荐
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
Feb 05 Javascript
基于jquery可配置循环左右滚动例子
Sep 09 Javascript
jQuery列表拖动排列具体实现
Nov 04 Javascript
jQuery往返城市和日期查询实例讲解
Oct 09 Javascript
JavaScript学习笔记之数组随机排序
Mar 23 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
浅析JS抽象工厂模式
Dec 14 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
Jul 25 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 Javascript
JS实现水平移动与垂直移动动画
Dec 19 Javascript
详解如何解决使用JSON.stringify时遇到的循环引用问题
Mar 23 Javascript
js判断生效时间不得大于失效时间的思路及代码
Apr 23 #Javascript
修改file按钮的默认样式实现代码
Apr 23 #Javascript
js随机颜色代码的多种实现方式
Apr 23 #Javascript
js对象与打印对象分析比较
Apr 23 #Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 #Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
Apr 23 #Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
Apr 23 #Javascript
You might like
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
2013/07/31 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
chrome调试javascript详解
2015/10/21 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
python逆向入门教程
2018/01/15 Python
pyhton列表转换为数组的实例
2018/04/04 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
Python实现一个论文下载器的过程
2021/01/18 Python
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
PHP如何自定义函数
2016/09/16 面试题
教育科学研究生自荐信
2013/10/09 职场文书
警察思想汇报
2014/01/04 职场文书
公民授权委托书
2014/10/15 职场文书
财政局个人总结
2015/03/04 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android