除了'back'按钮按预期运行之外,我还需要异步调用一个函数来更新一些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.byId("hdgSettings"), "onclick",
function() {
if (gblLoggerOn) WL.Logger.debug(">> hdgSettings(onclick) fired...");
loadTopLvlStats();
});
由于我的标题没有除“后退”按钮之外的任何其他小部件,我认为将此事件附加到它将解决我的问题......它什么也没做。所以我把它改成了......
dojo.connect(dijit.registry.byId("hdgSettings")._body, "onclick",
function() {
if (gblLoggerOn) WL.Logger.debug(">> hdgSettings(onclick) fired...");
loadTopLvlStats();
});
事实证明,“。_ body”属性必须由Accordion小部件共享,我恰好将其用作我的应用程序的主要UI组件,并且任何与Accordion交互的尝试都会使我的整个应用程序无效。
作为最后的手段,我想我可以简单地放弃使用内置的“后退”按钮,只需在标题上放置我自己的tabBarButton来控制我的应用程序的转换和事件处理。
如果社区建议我使用自己的tabBarButton,那么就这样吧,但是必须有一种方法可以将事件干净地附加到内置的“后退”按钮支持。
思想?
答案 0 :(得分:1)
以下应该可以解决问题:
var backButton = dijit.registry.byId("hdgSettings").backButton;
if (backButton) {
dojo.connect(backButton, "onClick", function() { ... });
}
说明: