我有一个带有文本框的网页表单。如何默认将焦点设置到文本框中?
类似这样:
<body onload='setFocusToTextBox()'>
有人可以帮我吗?我不知道如何使用JavaScript将焦点设置到文本框中。
<script>
function setFocusToTextBox(){
//What to do here
}
</script>
我有一个带有文本框的网页表单。如何默认将焦点设置到文本框中?
类似这样:
<body onload='setFocusToTextBox()'>
有人可以帮我吗?我不知道如何使用JavaScript将焦点设置到文本框中。
<script>
function setFocusToTextBox(){
//What to do here
}
</script>
想要分享一些关于这个主题的边缘案例。
如果您的内容正在重新加载(例如API动态DOM加载结果并将焦点设置在结果的第一个项目上),添加属性autofocus将不是您的解决方案,它仅适用于第一次加载,在静态DOM或单页加载中有效。如果你有动态组件加载数据简单的.focus()会失败,因为在focus()时元素尚未被创建,或者blur尚未完成。对于这种情况,期望是添加延迟时间(setTimeout函数)以给新创建或重新创建DOM中的元素应用焦点的时间。我的问题是从API加载数据并聚焦于第一个结果。
添加 var el = document.getElementById(focusId); el.focus();
解决了问题,因此DOM完成模糊而无需添加延迟。
试试这个:
$('.modal').on('shown.bs.modal', function () {
setTimeout(function() {
$("input#yourFieldId").addClass('modal-primary-focus').focus();
},
500);
});
<input type="text" class="word"> //html code
let theinput = document.querySelector(".word"); //Get the input
theinput.focus(); // focus on input
document.getElementById('your_text_box_id').focus();
。 - Teemuautofocus
通常就足够了。 - oligofren