Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用“this”从事件处理程序中访问对象的方法`_Javascript_Firefox Addon - Fatal编程技术网

Javascript 无法使用“this”从事件处理程序中访问对象的方法`

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);

下面是我的FF扩展监控浏览行为的代码。 我无法从处理单击事件的processClick方法访问trim方法

控制台显示此功能。修剪不是功能。 我知道可能是这个范围的东西

我将非常感谢您的帮助

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);
};