11
วิธีการตั้งค่าโฟกัสสำหรับฟิลด์เฉพาะใน Modal Bootstrap เมื่อมันปรากฏขึ้น
ฉันเคยเห็นคำถามสองสามข้อเกี่ยวกับวิธีการ bootstrap แต่ไม่มีใครเหมือนนี้ดังนั้นฉันจะไป ฉันมีคำกริยาที่เรียกว่า onclick อย่างนั้น ... $(".modal-link").click(function(event){ $("#modal-content").modal('show'); }); สิ่งนี้ทำงานได้ดี แต่เมื่อฉันแสดงโมดอลฉันต้องการที่จะมุ่งเน้นไปที่องค์ประกอบอินพุตแรก ... ในกรณีที่องค์ประกอบอินพุตแรกมี id #photo_name ดังนั้นฉันจึงพยายาม $(".modal-link").click(function(event){ $("#modal-content").modal('show'); $("input#photo_name").focus(); }); แต่นี่ไม่เป็นประโยชน์ ท้ายสุดฉันพยายามผูกไว้กับเหตุการณ์ 'โชว์' แต่ถึงอย่างนั้นอินพุตก็จะไม่โฟกัส ในที่สุดสำหรับการทดสอบเนื่องจากฉันสงสัยว่านี่เป็นเรื่องเกี่ยวกับการโหลด js ฉันใส่ setTimeout เพื่อดูว่าฉันหน่วงเวลาหนึ่งวินาทีโฟกัสจะทำงานหรือไม่และทำงานได้! แต่วิธีนี้เห็นได้ชัดว่าอึ มีวิธีการที่จะมีผลเช่นเดียวกับด้านล่างโดยไม่ใช้ setTimeout หรือไม่? $("#modal-content").on('show', function(event){ window.setTimeout(function(){ $(event.currentTarget).find('input#photo_name').first().focus() }, 0500); });