卡住。 AddeventListener不会在我的属性中处理我的方法。使用Javascript

时间:2014-08-15 15:49:56

标签: javascript object addeventlistener

所以我正在尝试做一个简单的测试,看看addEventListener是否可以到达我的对象内的方法..到目前为止,没有bueno。任何人都可以帮助解释原因吗?据我所知,当我点击时,它正在寻找DOM中的方法。我尝试使用绑定但没有任何反应。这样做,至少我得到一个错误。猜猜我没有正确链接? 请帮助:(

The Error ----> Uncaught TypeError: undefined is not a function     testing.js:12
               (anonymous function)


var userOne = function(){
    this.go = function(){
        alert("hello");
    };
}

unction getEle(what){
return document.getElementById(what);
}
function eventClick(id,func){
    return getEle(id).addEventListener("click", func);
}

eventClick("starter",function(){userOne.go();}); //is line 12

1 个答案:

答案 0 :(得分:-1)

您需要返回函数引用而不是调用它

eventClick("starter",function(){return userOne.go;});

请注意添加return语句并删除括号。或

eventClick("starter",userOne.go);

你的括号调用函数,没有它,你会得到函数的引用。

编辑:

userOne是作为构造函数创建的,因此您还需要进行两项更改:

`

var UserOne = function(){
    this.go = function(){
        alert("hello");
    };
}

var userOne = new UserOne();

`