2010-12-03 28 views
5

जावास्क्रिप्ट: विंडो.ब्लूर() ईवेंट पर ईवेंट श्रोता कैसे बनाएं?जावास्क्रिप्ट: Window.Blur() ईवेंट पर ईवेंट श्रोता कैसे बनाएं?

+0

क्या आप jQuery या किसी अन्य जेएस लाइब्रेरी का उपयोग कर रहे हैं या क्या हम सीधे जेएस के बारे में बात कर रहे हैं? –

+0

यह किसी अन्य घटना श्रोता के समान है - आपने अभी तक क्या प्रयास किया? – casablanca

+3

ठीक है, यह मजाकिया है: मैंने एक जवाब लिखा, लेकिन इसका त्वरित परीक्षण करना चाहता था। यह काम करता था, और फिर मैं अपना जवाब पोस्ट करने के लिए इस पृष्ठ पर वापस नहीं जा सका क्योंकि जिस टैब में मैं अपनी स्क्रिप्ट का परीक्षण कर रहा था, वह हर बार फोकस खोने पर सतर्क होगा। इस बीच पैट्रिक ने जवाब दिया। –

उत्तर

13
window.onblur = function() { 
    //say goodbye 
}; 

According to quirksmodeonfocus और onblur अधिकांश ब्राउज़र में window पर उपलब्ध हैं।

+1

केवल एक चीज जो मैं जोड़ूंगा वह यह है कि इंटरनेट एक्सप्लोरर का पुराना संस्करण इसे सही तरीके से संभाल नहीं पाया; आप document.onfocusout का उपयोग कर काम कर सकते हैं। –

0

प्रयास करें:

window.onBlur = function(e) { 
    // Code here. 
} 
+0

काम नहीं करता है, 'onblur' केस-संवेदी है। – user

+0

हालांकि यह कोड प्रश्न का उत्तर दे सकता है, लेकिन आमतौर पर यह आपके अभ्यास के बारे में स्पष्टीकरण जोड़ने के लिए अच्छा अभ्यास माना जाता है। यह डेवलपर्स के लिए अनुमति देता है जो कोड में क्या हो रहा है यह समझने के लिए इस क्षेत्र में जानकार नहीं हैं और उन्हें भविष्य में खुद को हल करने के तरीके को सीखने में मदद करता है। –

4

किसी संपत्ति के बजाय addEventListener का उपयोग करना बेहतर है, इस तरह आप एकाधिक हैंडलर सेट कर सकते हैं और कोई भी (स्वयं सहित) onblur संपत्ति को ओवरराइट करके गलती से आपके हैंडलर को अक्षम कर देगा।

window.addEventListener('blur', function() { 
    console.log('blur'); 
}); 
संबंधित मुद्दे