2017-08-02 17 views
5

इसलिए मुझे अपने एप के ब्राउज़र टैब पर ध्यान केंद्रित करने या नहीं करने के लिए एंगुलर 2 या 4 में आवश्यकता है। window.onfocus और window.onblur का उपयोग करने का कोई तरीका है?कोणीय 2+ window.onfocus और windows.onblur

धन्यवाद एक बहुत

उत्तर

6

आप @HostListener के साथ एक घटक का उपयोग कर सकते हैं।

कुछ की तरह:

@Component({}) 
export class WindowComponent { 

constructor(){} 

    @HostListener('window:focus', ['$event']) 
    onFocus(event: any): void { 
     // Do something 
    } 

    @HostListener('window:blur', ['$event']) 
    onBlur(event: any): void { 
     // Do something 
    } 

} 

बस जाँच लें कि आप एक से अधिक WindowComponent एक ही समय में चल रहा है की जरूरत नहीं है, क्योंकि आप एक अप्रत्याशित व्यवहार होगा, कारण है कि प्रत्येक उदाहरण इन घटनाओं पर प्रतिक्रिया करेंगे।

+0

अपना समय अपना दोस्त लेने के लिए धन्यवाद। मेरे पास एक सवाल है ... मैं इसे एक घटक के अंदर कैसे उपयोग करता हूं? मुझे सदस्यता का उपयोग करने की ज़रूरत है? –

+0

आपका स्वागत है, आपको सदस्यता का उपयोग करने की आवश्यकता नहीं है, जब घटक नष्ट हो जाता है तो कोणीय श्रोता को हटा देगा और 'ऑनफोकस' फ़ंक्शन ट्रिगर हो जाएगा जब ब्राउज़र 'window.onfocus' को ट्रिगर करेगा,' blur' के लिए । –

+0

धन्यवाद मेरे दोस्त। यह पूरी तरह से काम करता है –