Javascript 无法使用“this”从事件处理程序中访问对象的方法`
下面是我的FF扩展监控浏览行为的代码。 我无法从处理单击事件的processClick方法访问trim方法 控制台显示此功能。修剪不是功能。 我知道可能是这个范围的东西 我将非常感谢您的帮助Javascript 无法使用“this”从事件处理程序中访问对象的方法`,javascript,firefox-addon,Javascript,Firefox Addon,下面是我的FF扩展监控浏览行为的代码。 我无法从处理单击事件的processClick方法访问trim方法 控制台显示此功能。修剪不是功能。 我知道可能是这个范围的东西 我将非常感谢您的帮助 function bbm(doc) { this.doc = doc; this.registerListeners = function() { this.doc.addEventListener("click", this.processClick, false);
function bbm(doc)
{
this.doc = doc;
this.registerListeners = function() {
this.doc.addEventListener("click", this.processClick, false);
};
this.trim = function(str)
{
return str.replace(/^\s+|\s+$/g, '') ;
};
this.processClick = function(e) {
alert(e.type + " " + this.trim(this.url));
};
};
使用此功能
Function.prototype.bind = function(obj) {
var _method = this;
return function() {
return _method.apply(obj, arguments);
};
}
那么
看见
this.registerListeners = function() {
this.doc.addEventListener("click", this.processClick.bind(this), false);
};