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 相关文章推荐
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
Nov 24 Javascript
JQuery 写的个性导航菜单
Dec 24 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
jQuery实现新消息在网页标题闪烁提示
Jun 23 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
JavaScript常用函数工具集:lao-utils
Mar 01 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
Mar 04 Javascript
JS数组返回去重后数据的方法解析
Jan 03 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
详解Vue串联过滤器的使用场景
Apr 30 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
Protoss建筑一览
2020/03/14 星际争霸
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
jQuery的remove()方法使用详解
2015/08/11 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
Python使用进程Process模块管理资源
2020/03/05 Python
django在开发中取消外键约束的实现
2020/05/20 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
Django celery异步任务实现代码示例
2020/11/26 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
机修工岗位职责
2013/11/24 职场文书
前厅部经理岗位职责范文
2014/02/04 职场文书
教师远程培训感言
2014/03/06 职场文书
倡议书范文格式
2014/05/12 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
师德师风培训感言
2015/08/03 职场文书
新年寄语2016
2015/08/17 职场文书