2012-06-08 13 views
6

मैं कैनवास-आधारित गेम पर काम कर रहा हूं और window.addEventListener() का उपयोग कर keyup और keydown वैश्विक स्तर पर ईवेंट संलग्न करने के लिए उपयोग कर रहा हूं। यह पृष्ठ को सामान्य रूप से देखते समय काम करता है, लेकिन जब इसे iframe के रूप में एम्बेड किया जाता है; इसे कीप और कीडाउन घटनाएं नहीं मिलती हैं। क्या मैं ऐसा कर सकता हूं?आईफ़्रेम में सभी कुंजीपटल/कीडाउन घटनाओं को पकड़ें?

उत्तर

1

ऐसा लगता है कि आप केवल var realWindow = window.parent || window; कर सकते हैं और इसके बजाय realWindow पर addEventListener का उपयोग कर सकते हैं।

+1

यह केवल तभी काम करेगा जब फ्रेम को एम्बेड करने वाला बाहरी पृष्ठ एक ही डोमेन (वेब ​​साइट) से आता है। –

1

आप तब तक नहीं कर सकते जब तक फ्रेम फ़ोकस न हो।

आप क्या कर सकते हैं बाहरी खिड़की पर एक keydown बनाने आइफ्रेम ध्यान देते हैं, या किसी भी तरह हमेशा आइफ्रेम ध्यान देते हैं, या डिफ़ॉल्ट रूप से iframe ध्यान केंद्रित

(काफी अच्छा, यकीन नहीं आप क्या कर रहे हो सकता है) है

लेकिन विंडो की किसी भी विंडो (फ्रेम या नहीं) पर आग लगने के लिए उस फ्रेम को फोकस की आवश्यकता है।

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