2014-09-18 39 views
4

我需要在用戶退出xe:對話框時進行一些清理。我把代碼在onunload事件是這樣的:當用戶退出xe:對話框時捕獲

viewScope.remove("vsSomeVariable"); 
viewScope.remove("vsAnotherVariable"); 
etc; 

但當userr點擊「X」對話框中的代碼不執行。我在代碼中添加了一些打印到控制檯語句中,並且onUnload在我認爲應該打開時不會觸發。看起來序列是onLoad,然後onUnload,然後用戶做他們的事情,如果他們點擊「X」的onUnload似乎並沒有執行。有沒有辦法在xe:對話框中禁用「X」,這樣我就可以創建一個「退出」按鈕來執行我想要的操作,或者單擊「X」以便我可以執行清理過程?

回答

4

添加您的SSJS代碼XE:對話框的onHideonUnload事件:

<xe:dialog id="dialog1"> 
    <xe:this.onHide><![CDATA[#{javascript:print("onHide")}]]></xe:this.onHide> 
    <xe:this.onUnload><![CDATA[#{javascript:print("onUnload")}]]></xe:this.onUnload> 

,請確保你把你的代碼所有屬性

enter image description here

未納入事件

enter image description here

+0

它以我想要的方式加入到onHide中。 onUnload似乎在onLoad後立即觸發,所以當按下「X」時它不會觸發。但是,onHide像魅力一樣工作,我曾嘗試過這些事件,但無法獲得任何工作。去了物業,並開始得到一些。感謝指針。 – 2014-09-18 21:34:03

相關問題