2014-09-25 7 views
5

मैं ईवेंट प्रतिनिधिमंडल करना चाहता हूं और पूरे दस्तावेज़ से जुड़े ईवेंट हैंडलर द्वारा किसी DOM ऑब्जेक्ट पर होने वाली सभी घटनाओं को कैप्चर करना चाहता हूं।इवेंट प्रतिनिधिमंडल और खिड़की बनाम window.document

window.addEventListener(event, function(e){ 
    var obj = e.target; 
    ... // if `obj` is a certain kind of object, then do something 
}, false); 

और window.document निम्नलिखित के रूप में: वहाँ के रूप window करने के लिए घटनाओं बंधन के बीच कोई अंतर है?

window.document.addEventListener(event, function(e){ 
    var obj = e.target; 
    ... // if `obj` is a certain kind of object, then do something 
}, false); 

event आदि

उत्तर

4

'click', 'mouseover' की तरह घटना के कुछ प्रकार है, वहाँ window और window.document बीच एक अंतर है। window ब्राउज़र के देखने योग्य भाग से संबंधित है और हमेशा पहले लोड किया जाता है। window.document आपके पृष्ठ का वह हिस्सा है जहां सभी सामग्री और डीओएम प्रदर्शित होता है और उदाहरण शामिल है। उन सभी हिस्सों को जो स्क्रॉल करने तक छिपे हुए हैं उन्हें प्रकट करता है।

आपके द्वारा सूचीबद्ध घटनाएं उपयोगकर्ता ट्रिगर किए गए ईवेंट हैं और हमेशा खिड़की के देखने योग्य बंदरगाह को प्रभावित करेंगे। मैं ऐसी स्थिति के बारे में नहीं सोच सकता जहां आपको प्राप्त होगा। एक क्लिक इवेंट जो आपके व्यू पोर्ट के बाहर है। जहां तक ​​मुझे पता है कि आप ऐसी घटना भी उत्पन्न नहीं कर सकते हैं जो किसी विशिष्ट तत्व से बंधी न हो लेकिन स्क्रीन पर स्थिति के लिए। keyup, keydown, ... घटनाओं के लिए ही चला जाता है।

अपने प्रश्न का उत्तर देने के लिए, window या window.document पर अपनी घटनाओं को बाध्य करने के बीच कोई कार्यात्मक अंतर नहीं है। फ़ंक्शन कॉल के अंदर this संपत्ति अलग-अलग चीज है। मेरे लिए यह window के बजाय window.document डीओएम को किसी ईवेंट को बाध्य करने के लिए थोड़ा और समझ में आता है।

संबंधित मुद्दे