首先,我使用的是旧版dojo的版本,所以dojo.event.connect是正确的语法。我的问题是:如何在事件被触发时调用的函数中访问事件。
基本上,我正在动态创建一个按钮,然后在" onClick"上连接一个事件。
var _btn = dojo.widget.createWidget(widget parameters);
dojo.event.connect(_btn,"onClick","myFunction");
在myFunction中,我需要能够访问_btn的属性。我试过传递_btn作为dojo.event.connect的上下文,但这不起作用。当我尝试时,它也不会将_btn作为myFunction的参数传递。是否有可能A)以某种方式将_btn作为参数传递给myFunction或B)访问在单击_btn时在myFunction中触发的事件。谢谢!
答案 0 :(得分:0)
我不知道是否有更方便的方法来解决您的问题,但在最坏的情况下,您可以使用闭包作为传递参数的万无一失的方法:
从
改变我的功能myfunction(arg1, arg2){
到
myfunction(btn, arg1, arg2){
//using btn here
并使用dojo.partial(或dojo.hitch)创建一个始终将某个按钮作为参数显示的函数(然后将其传递给连接):
dojo.event.connect(_btn, 'onClick', dojo.partial(myFunction, _btn));