GWT

2010-04-01 14 views
6

में करीब खिड़की पर कोड निष्पादित मैं कुछ इस तरह करना चाहते हैं?GWT

+0

यह http://stackoverflow.com/questions/2193098/how-to-catch-user-leaving-a का डुप्लिकेट है -पृष्ठ-और-रद्द करना-यह – aem

+1

अच्छा, वास्तव में नहीं। मैं अलग-अलग करना चाहता हूं क्योंकि जब मैं ठीक बटन क्लिक करता हूं और जब रद्द बटन क्लिक नहीं किया जाता है तो मैं कोड निष्पादित करने में सक्षम होना चाहता हूं। – stuff22

उत्तर

6

वहाँ दो संचालकों, एक Window.ClosingHandler और एक CloseHandler की जरूरत है। निचे देखो। यह सुनिश्चित करेगा, अगर संवाद में 'रद्द' क्लिक किया गया है, तो CloseHandler ट्रिगर नहीं किया गया है। लेकिन अगर 'ठीक' क्लिक किया गया है, तो CloseHandler निष्पादित किया गया है और आवश्यक कोड चलाएगा। इस डाटाबेस ताले को रिहा, बड़े करीने से खुले सत्र बंद करने के लिए इस्तेमाल किया जा सकता है, आदि

Window.addWindowClosingHandler(new Window.ClosingHandler() { 

    @Override 
    public void onWindowClosing(ClosingEvent event) { 
     event.setMessage("You sure?"); 
    } 
}); 

Window.addCloseHandler(new CloseHandler<Window>() { 

    @Override 
    public void onClose(CloseEvent<Window> event) { 
     //Execute code when window closes! 
    } 
}); 
+0

किसी कारण से यह IE में भी काम नहीं करता है। – stuff22

+0

क्या होगा यदि आप विंडो को बंद करने के लिए नहीं जाते हैं तो आप कुछ कोड निष्पादित करना चाहते हैं? – liftarn

0

आप विंडो में देखना चाहते हैं। इस तरह की कार्यक्षमता के लिए पुष्टि करें।

आप यहाँ उस पर ऊपर पढ़ सकते हैं: gwt.user.client.Window

+1

ठीक है, मैंने कोशिश की है, लेकिन पुष्टि संवाद में आप जो भी चुनते हैं उसके बावजूद, यह विंडो बंद कर देगा। मैं चाहता हूं कि रद्द बटन दबाए जाने पर खिड़की खुली रहें। मैं उदाहरण के लिए एक अगर कर सकते हैं (Window.confirm ("सच") { महान चीज़ें लाने करना} else { बंद बंद करने खिड़की } एक ही रास्ता मैं जानता हूँ कि यह कैसे को रोकने के लिए बंद करने से करने के लिए है ईवेंट पर setMessage() विधि को कॉल करें। यह एक और संवाद पॉप अप करेगा ..... यदि मैं रद्द करता हूं तो विंडो बंद होने से रोक देगा, लेकिन यह वास्तव में बदसूरत है। मैं केवल एक संवाद का उपयोग करने में सक्षम होना चाहता हूं। – stuff22