dojo.connect对onClick事件不起作用(在Internet Explorer中)

s2j5cfk0  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(166)

我添加了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中也运行得非常好。
请帮助我解决这个问题!

68bkxrlz

68bkxrlz1#

我认为您注册事件处理程序的方式是错误的-请尝试以下操作:

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));

相关问题