Javascript 如何从onClick事件调用对象函数?

Javascript 如何从onClick事件调用对象函数?,javascript,Javascript,我有一个test.html,其中包括tree.js 在这个HTML中,我有 <div id='forObj'></div> <script type='text/javascript'> var obj = new Tree(document.getElementById('forObj'); </script> 我的问题是:现在每个人都必须引用对象obj,否则这将不起作用 如何对其进行泛化,使对象可以获得编码器想要使用的每个名称?只需使用当前

我有一个test.html,其中包括tree.js

在这个HTML中,我有

<div id='forObj'></div>
<script type='text/javascript'>
var obj = new Tree(document.getElementById('forObj');
</script>

我的问题是:现在每个人都必须引用对象obj,否则这将不起作用

如何对其进行泛化,使对象可以获得编码器想要使用的每个名称?

只需使用当前实例定义您自己的obj变量,用于事件侦听器:

… else {
    var obj = this;
    div.onclick = function(e) {
        obj.eventFoo(this.id);
    };
}

另请参阅,以了解问题的一个非常类似的表现形式,尽管您希望使用处理程序的this。

使用this.eventFoo而不是obj.eventFoo您不清楚自己在问什么。在第一个代码块中还缺少右括号。
… else {
    var obj = this;
    div.onclick = function(e) {
        obj.eventFoo(this.id);
    };
}