मैंने बूटस्ट्रैप मॉडल्स के संबंध में कुछ प्रश्नों को देखा है, लेकिन वास्तव में ऐसा कोई नहीं है, इसलिए मैं आगे जाऊंगा।
मेरे पास एक मोडल है जिसे मैं onclick कहता हूं जैसे ...
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
});
यह ठीक काम करता है, लेकिन जब मैं मॉडल दिखाता हूं तो मैं पहले इनपुट तत्व पर ध्यान केंद्रित करना चाहता हूं ... हो सकता है कि पहले इनपुट तत्व में #photo_name की आईडी हो।
इसलिए मैंने कोशिश की
$(".modal-link").click(function(event){
$("#modal-content").modal('show');
$("input#photo_name").focus();
});
लेकिन इसका कोई फायदा नहीं हुआ। अंत में, मैंने 'शो' इवेंट के लिए बाध्यकारी की कोशिश की, लेकिन फिर भी, इनपुट ध्यान केंद्रित नहीं करेगा। अंत में सिर्फ परीक्षण के लिए, जैसा कि मुझे संदेह था कि यह js लोडिंग ऑर्डर के बारे में है, मैंने एक सेटटाइमआउट में यह देखने के लिए रखा कि क्या मैं एक सेकंड में देरी करता हूं, क्या फोकस काम करेगा, और हां, यह काम करता है! लेकिन यह तरीका जाहिर तौर पर बकवास है। वहाँ एक setTimeout का उपयोग किए बिना नीचे के रूप में एक ही प्रभाव के लिए कोई रास्ता नहीं है?
$("#modal-content").on('show', function(event){
window.setTimeout(function(){
$(event.currentTarget).find('input#photo_name').first().focus()
}, 0500);
});