我知道Button.command是普通按钮的主题ID,我可以为它设置属性。我知道eventHandlers默认没有主题ID。因此,为了集中设置eventHandler的属性,我历来在我的主题中添加了我的内容:
<control>
<name>Button.EventHandler</name>
<property mode="override">
<name>onStart</name>
<value>loading();</value>
</property>
<property mode="override">
<name>onError</name>
<value>stoploading();</value>
</property>
<property mode="override">
<name>onComplete</name>
<value>stoploading();</value>
</property>
</control>
但是我需要将themeId Button.EventHandler添加到每个eventHandler。
有没有办法在子主题的主题中设置属性,所以在所有作为Button.Command控件子项的eventHandler上设置属性?
答案 0 :(得分:0)
我无法帮助您解决您的主题问题,但也许我可以为您解决一般问题。
我认为你试图实现的是将一些好的加载器附加到所有部分刷新事件。这可以通过使用dojo.subscribe API在较低级别完成:http://dojotoolkit.org/reference-guide/1.6/dojo/subscribe.html
示例代码:
// we need to activate io events
dojo.config.ioPublish = true
dojo.subscribe("/dojo/io/send", function(/*dojo.Deferred*/dfd){
loading();
});
dojo.subscribe("/dojo/io/stop", function(){
stoploading();
});
此代码必须在应用程序启动时运行(onClientLoad事件就可以了)