जब कोई पॉपअप विंडो बंद हो जाती है, या अधिमानतः, बंद होने से ठीक पहले मैं एक ईवेंट उठाना चाहता हूं। मैं पॉपअप विंडो ऑब्जेक्ट को ऑब्जेक्ट के रूप में संग्रहीत कर रहा हूं, लेकिन मुझे बंद घटना से बांधने के लिए किसी भी तरह से नहीं पता है, या खिड़की बंद होने से ठीक पहले एक घटना नहीं है।पॉपअप विंडो बंद होने पर मैं एक ईवेंट (jQuery या वेनिला जावास्क्रिप्ट) कैसे उठाऊंगा?
var popupWindow = window.open("/popup.aspx", "popupWindow", "height=550,width=780");
वहाँ किसी भी तरह से jQuery, या सिर्फ कच्चे जावास्क्रिप्ट का उपयोग करते हुए करीब घटना की सदस्यता के लिए है? मैं jQuery का उपयोग कर रहा हूं और एक और लाइब्रेरी नहीं जोड़ सकता, इसलिए अगर यह jQuery में नहीं किया जा सकता है तो मुझे अपनी खुद की इवेंट सिस्टम रोल करना होगा ताकि यह सभी ब्राउज़रों में काम करे।
अद्यतन:
मैं jQuery में और किसी कारण के रूप में मेरे पॉपअप जब यह बंद कर दिया है के बजाय खोलता घटना के रूप में जल्द ही उठाया है के लिए अनलोड घटना का उपयोग कर की कोशिश की है। अगर मैं अनलोड ईवेंट को सब्सक्राइब करने में देरी करने के लिए ब्रेकपॉइंट सेट करने के लिए फ़ायरबग का उपयोग करता हूं, तो अनलोड ईवेंट जिस तरह से माना जाता है, वैसे ही काम करता है, लेकिन किसी भी कारण से, यह जावास्क्रिप्ट को स्वाभाविक रूप से निष्पादित करने की अनुमति देने पर सही तरीके से काम नहीं करता है।
var popupWindow = window.open("/popup.aspx", "popupWindow", "height=550,width=780");
$(popupWindow.window).unload(function() { alert('hello'); });
क्या किसी के पास कोई विचार है कि विंडो लोड होने पर अनलोड ईवेंट क्यों उठाया जा सकता है?
एक अन्य पकड़ मैंने देखा है कि कि jQuery के "उतारना" घटना खिड़की करने के लिए सदस्यता नहीं रहता है जैसे कि यह सामान्य रूप से करता है, तो मैं सिर्फ क्या करता है:
popupWindow.onunload = function(){alert('hello')};
यह घटना से सदस्यता समाप्त करने लगता है हर समय उठाया गया है। क्या यह होने के लिए माना गया है? अगर यह jQuery में इस बग (या फीचर?) के लिए नहीं था, तो यह ठीक होगा कि ईवेंट लोड पर उठाया जाए क्योंकि मैं इस घटना के अंदर popupWindow.closed
संपत्ति की जांच कर सकता हूं ताकि यह सुनिश्चित किया जा सके कि खिड़की वास्तव में बंद थी।
मेरी समस्या बढ़िया है, यह हल;) –