0

我添加了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 不会将“onclick”与按钮连接起来

但同样的事情在 Chrome 和 Firefox 中运行得非常好。

请帮我解决这个问题!

4

1 回答 1

0

我认为您注册事件处理程序的方式是错误的 - 试试这个:

require('dojo/_base/lang', 'dojo/on');

on(this._paramsForm, "change", lang.hitch(this, _handleUpdate));

请注意,在最新版本中,前缀“on”已被删除——您只需要使用“click”、“change”等;作为事件名称。lang.hitch - 确保 _handleUpdate 在 'this' 的上下文中执行。

如果您使用的是旧版本的 dojo (< 1.7),那么代码将类似:

dojo.connect(this._paramsForm, "onChange", dojo.hitch(this, _handleUpdate));
于 2013-07-23T04:29:50.267 回答