如何将事件附加到dojox.mobile.heading';背面';按钮
除了“后退”按钮按预期运行外,我还需要异步调用一个函数来更新一些db表和刷新UI 在发表这篇文章之前,我做了一些研究并尝试了以下内容如何将事件附加到dojox.mobile.heading';背面';按钮,dojo,dojox.mobile,Dojo,Dojox.mobile,除了“后退”按钮按预期运行外,我还需要异步调用一个函数来更新一些db表和刷新UI 在发表这篇文章之前,我做了一些研究并尝试了以下内容 <h1 data-dojo-type="dojox.mobile.Heading" id="hdgSettings" data-dojo-props="label:'Settings',back:'Done',moveTo:'svStart',fixed:'top'"></h1> dojo.connect(dijit.registry.b
<h1 data-dojo-type="dojox.mobile.Heading" id="hdgSettings" data-dojo-props="label:'Settings',back:'Done',moveTo:'svStart',fixed:'top'"></h1>
dojo.connect(dijit.registry.byId("hdgSettings"), "onclick",
function() {
if (gblLoggerOn) WL.Logger.debug(">> hdgSettings(onclick) fired...");
loadTopLvlStats();
});
事实证明,“.\u body”属性必须由我恰好用作我的应用程序的主UI组件的Accordion小部件共享,任何尝试与Accordion交互的行为都会使我的整个应用程序无效
作为最后的手段,我想我可以放弃使用内置的“后退”按钮,只需在标题上放置我自己的tabBarButton来控制我的应用程序的转换和事件处理
如果社区建议我使用我自己的tabBarButton,那么就这样吧,但是必须有一种方法将事件干净地附加到内置的“后退”按钮支持
想法?以下应该可以做到:
var backButton = dijit.registry.byId("hdgSettings").backButton;
if (backButton) {
dojo.connect(backButton, "onClick", function() { ... });
}
备注:
- 上面的代码应该通过dojo/ready调用来执行,以避免在填充dijit的widget注册表之前使用它。看
- 注意事件名称的大小写:“onClick”(而不是“onClick”)
- 由于不知道您使用的是什么Dojo版本(请在提问时始终包含Dojo版本信息),我保留了您的AMD之前的语法,这在最近的Dojo版本(1.8、1.9)中是不推荐的。有关详细信息,请参阅
var backButton = dijit.registry.byId("hdgSettings").backButton;
if (backButton) {
dojo.connect(backButton, "onClick", function() { ... });
}