0

dojo创建了dojo/_base/declare一个包含onClickHandler. 此处理程序由 adijit/form/Button用于处理存储在类中的数据。我需要处理程序能够引用Button触发事件的事件和处理程序所属的类的实例。

例如,下面是该类中处理函数的第一部分:

drawToolClick : function(evt) {

    this.drawingtoolbar.deactivate(); // Here `this` should represent the instance of my class

    var parent = this.getParent(); // Here `this` should represent the button that was clicked

我知道我显然不能this用来表示两者,但是当我dojo/_base/langhitch我的类实例用于函数时,我不知道单击了哪个按钮(我有多个按钮使用相同的处理程序,因为它们代表一个enum)。如果我省略了hitch this单击的按钮的引用,但我不知道如何获取处理程序所属的类的实例。

有一个更好的方法吗?

4

1 回答 1

0

所以,我终于想通了。我只是在我的模块中添加了一个变量var self;,该类在declare语句之前定义。然后,在我的类constructor函数中我添加了self = this;.

然后在我的onclick处理程序中,我this用来引用被单击的按钮,并self用来引用类实例。

这似乎工作正常。

于 2013-04-04T16:03:24.897 回答