2013-08-04 76 views
0

除了'後退'按鈕功能正常,我需要異步調用一個函數來更新一些數據庫表並刷新用戶界面。如何將一個事件附加到dojox.mobile.heading'後退'按鈕

此前做這個職位,我做了一些研究,並試圖在這個下面......

<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屬性必須通過摺疊菜單,我只是碰巧我的應用程序的主UI組件使用共享,任何企圖與手風琴渲染我的整個應用程序無用。

作爲最後的手段,我想我可以簡單地放棄使用內置的「後退」按鈕,只需將我自己的tabBarButton放置在標題上即可控制應用程序的轉換和事件處理。

如果社區建議我使用我自己的tabBarButton,那就這樣吧,但是必須有一種方法可以將事件乾淨地附加到內置的「後退」按鈕支持上。

想法?

回答

1

下應該做的伎倆:

var backButton = dijit.registry.byId("hdgSettings").backButton; 
if (backButton) { 
    dojo.connect(backButton, "onClick", function() { ... }); 
} 

備註:

+0

謝謝阿德里安,它在dojo 1.9中完美地工作,並將在dojo 1.8中進行測試,因爲其他問題與此問題無關,所以我的項目可能不得不退回到1.8。 – trbo

相關問題