यहां दिए गए कुछ उत्तर setTimeoutलक्ष्य तत्व पर ध्यान केंद्रित करने की प्रक्रिया में देरी का उपयोग करने का सुझाव देते हैं । उनमें से एक का उल्लेख है कि लक्ष्य एक मोडल संवाद के अंदर है। मैं setTimeoutसमाधान की शुद्धता पर आगे कोई टिप्पणी नहीं कर सकता कि यह कहाँ इस्तेमाल किया गया था, इसके विशिष्ट विवरण को जाने बिना। हालाँकि, मैंने सोचा कि मुझे यहाँ एक उत्तर देना चाहिए जो इस धागे में चलने वाले लोगों की मदद करता है जैसे मैंने किया था
इस मामले का सरल तथ्य यह है कि आप किसी ऐसे तत्व पर ध्यान केंद्रित नहीं कर सकते हैं जो अभी तक दिखाई नहीं दे रहा है । यदि आप इस समस्या में भाग लेते हैं, तो सुनिश्चित करें कि लक्ष्य वास्तव में दिखाई दे रहा है जब ध्यान केंद्रित करने का प्रयास किया गया है। अपने मामले में मैं इन पंक्तियों के साथ कुछ कर रहा था
$('#elementid').animate({left:0,duration:'slow'});
$('#elementid').focus();
यह काम नहीं किया। मुझे केवल एहसास हुआ कि जब मैं $ ('# एलीमिड') निष्पादित कर रहा था, तब कंसोल से फोकस किया गया था । अंतर - लक्ष्य से ऊपर मेरे कोड में कोई निश्चितता नहीं है कि लक्ष्य पूरा हो जाएगा क्योंकि एनीमेशन पूरा नहीं हो सकता है । और वहाँ सुराग निहित है
$('#elementid').animate({left:0,duration:'slow',complete:focusFunction});
function focusFunction(){$('#elementid').focus();}
उम्मीद के मुताबिक काम करता है। मैं भी शुरू में एक setTimeoutसमाधान में डाल दिया था और यह भी काम किया। हालांकि, एक मनमाने ढंग से चुना गया टाइमआउट जल्द या बाद में समाधान को तोड़ने के लिए बाध्य है, यह इस बात पर निर्भर करता है कि मेजबान डिवाइस धीरे-धीरे कैसे सुनिश्चित करता है कि लक्ष्य तत्व दिखाई दे रहा है।