我像这样添加了dojo.connect语句,
dojo.connect(dojo.byId(this._paramsForm), "onChange", this, "_handleUpdate");
此时,当我浏览器调试并检查值时,this._paramsForm具有有效值。 但是当事件被触发时,不会调用onChange函数。 dojo.connect语句中必定存在一些问题,但无法跟踪它。
也试过这个,没有运气:(
dojo.connect(this._paramsForm, "onChange", this, "_handleUpdate");
也提到了这个链接,没有运气 dojo.connect won't connect 'onclick' with button
但同样的事情在chrome和firefox中工作得非常好。
请帮我解决这个问题。 !
答案 0 :(得分:0)
我认为你注册事件处理程序的方式是错误的 - 试试这个:
require('dojo/_base/lang', 'dojo/on');
on(this._paramsForm, "change", lang.hitch(this, _handleUpdate));
请注意,在最新版本中,前缀'on'已被删除 - 您只需要使用'click','change'等;作为事件名称。 lang.hitch - 确保在'this'的上下文中执行_handleUpdate。
如果您使用的是较旧版本的dojo(< 1.7),那么代码将类似:
dojo.connect(this._paramsForm, "onChange", dojo.hitch(this, _handleUpdate));