อาจเป็นเรื่องง่ายมาก แต่มีคนบอกฉันว่าจะให้เคอร์เซอร์กะพริบบนกล่องข้อความเมื่อโหลดหน้าเว็บได้อย่างไร
อาจเป็นเรื่องง่ายมาก แต่มีคนบอกฉันว่าจะให้เคอร์เซอร์กะพริบบนกล่องข้อความเมื่อโหลดหน้าเว็บได้อย่างไร
คำตอบ:
ตั้งค่าโฟกัสไปที่ฟิลด์ข้อความแรก:
$("input:text:visible:first").focus();
นี่เป็นฟิลด์ข้อความแรก แต่คุณสามารถเปลี่ยน [0] เป็นดัชนีอื่นได้:
$('input[@type="text"]')[0].focus();
หรือคุณสามารถใช้ ID:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
... ทำงานให้ฉัน
คุณสามารถใช้HTML5autofocus
สำหรับสิ่งนี้ คุณไม่ต้องการ jQuery หรือ JavaScript อื่น ๆ
<input type="text" name="some_field" autofocus>
หมายเหตุสิ่งนี้จะไม่ทำงานบน IE9 และที่ต่ำกว่า
แน่นอนว่า:
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("#myTextBox").focus();
});
</script>
</head>
<body>
<input type="text" id="myTextBox">
</body>
ทำไมทุกคนใช้ jQuery เพื่อสิ่งที่ง่ายเช่นนี้
<body OnLoad="document.myform.mytextfield.focus();">
คิดถึงอินเตอร์เฟซผู้ใช้ของคุณก่อนที่คุณจะทำสิ่งนี้ ฉันคิดว่า (แม้ว่าจะไม่มีคำตอบใดที่บอกไว้) ว่าคุณจะทำสิ่งนี้เมื่อเอกสารโหลดโดยใช้ready()
ฟังก์ชั่นของ jQuery หากผู้ใช้เพ่งความสนใจไปที่องค์ประกอบที่แตกต่างกันก่อนที่จะโหลดเอกสาร (ซึ่งเป็นไปได้อย่างสมบูรณ์) แล้วมันน่ารำคาญอย่างยิ่งสำหรับพวกเขาที่จะต้องขโมยโฟกัสไป
คุณสามารถตรวจสอบสิ่งนี้ได้โดยการเพิ่มonfocus
คุณสมบัติในแต่ละ<input>
องค์ประกอบของคุณเพื่อบันทึกว่าผู้ใช้เพ่งความสนใจไปที่เขตข้อมูลฟอร์มแล้วและไม่ขโมยโฟกัสหากมี:
var anyFieldReceivedFocus = false;
function fieldReceivedFocus() {
anyFieldReceivedFocus = true;
}
function focusFirstField() {
if (!anyFieldReceivedFocus) {
// Do jQuery focus stuff
}
}
<input type="text" onfocus="fieldReceivedFocus()" name="one">
<input type="text" onfocus="fieldReceivedFocus()" name="two">
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
autofocus
คุณลักษณะให้กับองค์ประกอบอินพุตหรือไม่
ขออภัยสำหรับคำถามเก่า ๆ ฉันพบสิ่งนี้ผ่านทาง google
นอกจากนี้ยังเป็นที่น่าสังเกตว่ามีความเป็นไปได้ที่จะใช้ตัวเลือกมากกว่าหนึ่งตัวเลือกดังนั้นคุณสามารถกำหนดเป้าหมายองค์ประกอบรูปแบบใด ๆ และไม่ใช่ประเภทที่เฉพาะเจาะจง
เช่น.
$('#myform input,#myform textarea').first().focus();
สิ่งนี้จะเน้นอินพุตหรือ textarea แรกที่ค้นหาและแน่นอนคุณสามารถเพิ่มตัวเลือกอื่น ๆ ลงในมิกซ์ได้เช่นกัน ฉวยโอกาสถ้าคุณไม่สามารถแน่ใจได้ว่าเป็นประเภทองค์ประกอบที่เฉพาะเจาะจงเป็นอันดับแรกหรือถ้าคุณต้องการบางสิ่งบางอย่างทั่วไป / นำมาใช้ใหม่
นี่คือสิ่งที่ฉันต้องการใช้:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
แอตทริบิวต์ที่มีให้โดย HTML5
วางหลังจากป้อนข้อมูล
<script type="text/javascript">document.formname.inputname.focus();</script>
วิธีที่ง่ายและง่ายที่สุดในการบรรลุเป้าหมายนี้
$('#button').on('click', function () {
$('.form-group input[type="text"]').attr('autofocus', 'true');
});
บรรทัด$('#myTextBox').focus()
เพียงอย่างเดียวจะไม่วางเคอร์เซอร์ไว้ในกล่องข้อความแทนที่จะใช้:
$('#myTextBox:text:visible:first').focus();