javascript - Getting wrong screen height when trigger orientationchange event -


जब मैं इसे Portrait या < कोड> लैंडस्केप

  window.addEventListener ("अभिविन्यास", फ़ंक्शन (इवेंट) {rotateScreen ();}, झूठी); फ़ंक्शन रोटेटस्क्रीन () {चेतावनी (विंडो। औचित्य) चेतावनी ($ (खिड़की)। हल्की ())}   

जब मैं इसे पोर्ट्रेट पर घुमाने के लिए, मुझे मिल जाता है 0, 294. जब मैं इसे लैंडस्केप पर घुमाने के लिए, मुझे 90, 41 9 मिलता है। यह आंकड़ा उलट है, मैंने इसे $ (document) में लपेटने का प्रयास किया है .ready () लेकिन यह काम नहीं करता है।

  $ (दस्तावेज़) .ready (फ़ंक्शन () {चेतावनी ($ (विंडो)। हाइट ())})   < P> ऐसा लगता है कि जब मैं मोबाइल को  पोर्ट्रेट  पर घुमाऊं, तो मुझे  लैंडस्केप  की ऊंचाई मिलती है, और जब मैं मोबाइल को  लैंडस्केप  पर घुमाने देता हूं , मुझे  पोर्ट्रेट  की ऊंचाई मिलती है क्या कोई इसे ठीक करने का सुझाव दे सकता है?  

धन्यवाद

आकार बदलना अभिविन्यास परिवर्तन ईवेंट के बाद ईवेंट शुरू हो जाता है हालांकि आकार बदलना अन्य चीज़ों जैसे वर्चुअल कीबोर्ड दिखाने से भी शुरू हो सकता है।

इस प्रकार गोल करने के लिए हम पहले अभिविन्यास परिवर्तन के लिए सुन सकते हैं, एक बार ऐसा होता है, तो हम एक आकार परिवर्तन श्रोता जोड़ सकते हैं अभिविन्यास परिवर्तन पूरा होने के बाद यह हमारे आकार परिवर्तन ईवेंट को आग लगा देगा इसे पूरा करने के बाद हम इसे पुनः लोड करने वाले श्रोता को हटाकर इसे त्रुटि में निकाल दिया गया है

  $ (window) .on ('orientationchange', function) (var orientationChange = function (evt) {rotateScreen ( ); $ (विंडो) .ऑफ़ ('पुन: आकार', अभिविन्यास परिवर्तन);} $ (विंडो) .on ('आकार बदलने', अभिविन्यास परिवर्तन);});   

यह प्रभावी रूप से एक छद्म पोस्ट बनाता है: उन्मुखीकरण बदलें ईवेंट। (यदि संभव हो तो मैं टाइमआउट का उपयोग करने से बच सकता हूं)

Comments