6

में पृष्ठ पर नेविगेट करते समय अनाथ jQuery डेटपिकर फिर से दिखाई दे रहा है यह समस्या Internet Explorer 10 से संबंधित है, जो मैं परीक्षण कर रहा हूं और Firefox or Chrome के मेरे वर्तमान संस्करणों को प्रभावित नहीं करता है।आईएफ 10

कदम को

  1. नेविगेट इंटरनेट एक्सप्लोरर में पुन: पेश करने: http://jqueryui.com/datepicker/
  2. जबकि यह खुला है datepicker
  3. प्रदर्शित करने के लिए दिनांक फ़ील्ड क्लिक करें, ओर अपने IE खिड़की के साथ एक और आवेदन खिड़की पर नेविगेट और फिर IE पर वापस जाएं और datepicker पैनल में कुछ खाली सफेद स्थान पर क्लिक करें।
  4. आपको datepicker गायब हो जाना चाहिए और फिर फिर से दिखाना चाहिए, जो मुझे विश्वास है कि इस तथ्य से संबंधित होना चाहिए कि जिस पर नियंत्रण था, उस पर नियंत्रण था, जब आप वापस क्लिक करते हैं तो फोकस वापस प्राप्त होता है।

मैं क्या देखा है:

  • आप को कम करने और IE को अधिकतम है, यह नहीं होता है
  • आप एक और आवेदन करने के लिए क्लिक करके और में सीधे क्लिक के बिना एक ही चरणों का पालन करते हैं सफेद स्थान, ऐसा नहीं होता
  • यदि आपके पास खिड़कियां/ऐप्स की ओर से या 2 मॉनीटर
पर लगातार काम करता है तो यह लगातार काम करता है

जबकि मैं स्वीकार कर सकता हूं कि यह एक मामूली समस्या है और वास्तव में एक बग की तरह प्रतीत नहीं होता है, यह हमारे आवेदन में एक समस्या का अधिक हो जाता है जहां datepicker पॉपअप विंडो के हिस्से के रूप में प्रदर्शित होता है जो आपके द्वारा चुने जाने के बाद गायब हो जाता है यह।

तिथि चयनकर्ता जनक कंटेनर के साथ:

date picker with container

अनाथ तिथि चयनकर्ता पुन: दिखाई देता:

orphaned date picker

मैं क्या कोशिश की है:

मैंने देखा है datepicker कि नीचे का सुझाव की दृश्यता है, जो मैं परीक्षण किया है करने के लिए संबंधित पोस्ट:

$("#my-datepicker-div").datepicker('destroy'); 
$("#my-datepicker-div").datepicker('disable'); 

हालांकि मैं इस बढ़त मामले की अनदेखी करने के लिए खुश हूँ, यह एक बग के रूप में उठाया गया मुझे ठीक करने की ज़रूरत है। मुझे यकीन नहीं है कि और क्या प्रयास करें।

उत्तर

4

मैं आईई 10 में ठीक करने में सक्षम था फोन करके (यह तो करीब ताज़ा करते हैं, तो एक झिलमिलाहट का एक सा है है):

$("#datepicker").datepicker("hide"); 
एक समारोह में

कि कहा जाता है जब div बंद (इस में खिड़की पर लौटने पर त्वरित उदाहरण आप div के बाहर क्लिक करते हैं)।उदाहरण यहां बेकार है: http://jsfiddle.net/anyuG/

आईई 10 के लिए वर्णित व्यवहार को पुन: पेश करने के लिए बस disablepopup() फ़ंक्शन में उस पंक्ति को टिप्पणी करें और आप अनाथ डेटपिकर विंडो को पुन: पेश कर सकते हैं। यदि आप अपना वास्तविक उदाहरण एक पहेली के रूप में पोस्ट करते हैं तो हम उसके साथ काम कर सकते हैं।

पॉपअप div उदाहरण यहां पकड़ा: http://istockphp.com/jquery/creating-popup-div-with-jquery/

अद्यतन

इस संभाल करने के लिए अन्य तरीके से, और लग रहा है एक छोटे से अच्छे $(window).blur() और $(window).focus() कार्यों के उपयोगकर्ता बनाने के लिए है। यह मेरी राय में ठीक लग रहा है, खिड़की छुट्टी पर करीब ध्यान दें, और यदि आप सफेद बॉक्स के भीतर क्लिक करें फिर से खोलना, और फिर से खोलना, लेकिन यदि आप सफेद बॉक्स के बाहर क्लिक करें सब एक साथ बंद:

$(window).blur(function(e) { 
    $("#datepicker").datepicker("hide"); 
}); 

अपडेट किया गया बेला। .focus() के साथ-साथ अपनी वरीयता के लिए सर्वश्रेष्ठ कॉम्बो निर्धारित करने के लिए खेलते हैं, और आपको अच्छा होना चाहिए। यह भी आईई 10 का पता लगाना चाह सकता है और उस ब्राउज़र में केवल तभी कोड चला सकता है।

फिडल: http://jsfiddle.net/78252/1/

+0

बेला के लिए धन्यवाद, यह सही ढंग से इस मुद्दे को reproduces जब रेखा बाहर टिप्पणी की। जबकि आपका समाधान डेटपिकर को बंद करता है, यह बंद होने से पहले इसे वापस फ्लैश करने का अधिकार नहीं लगता है। – Tanner

+0

सहमत हैं, मुझे यकीन नहीं है कि मेरे पास एक बेहतर समाधान है क्योंकि यह बिल्कुल चमकता है, क्योंकि यह कुछ कह रहा है कि पृष्ठ कैसा व्यवहार कर रहा है (घटनाओं का क्रम)। – Matthew

+0

इसके बारे में कुछ और सोचा। अद्यतन उत्तर देखें। – Matthew

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