js绑定事件this指向发生改变的问题解决方法_javascript技巧
程序员文章站
2022-04-30 08:25:05
...
可对函数进行如下扩展
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)
}
}
复制代码 代码如下:
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)
}
}
复制代码 代码如下:
var a = new myalert();
a.init();