我有一个文本框,我想设置焦点,但它不起作用.
document.getElementById("txtCity").focus();
Run Code Online (Sandbox Code Playgroud)
任何的想法?
jay*_*aya 15
如果有人搜索的情况与我的类似......我必须先设置一个tabindex属性,然后div才能收到focus():
featured.setAttribute('tabindex', '0');
featured.focus();
console.log(document.activeElement===featured); // true
Run Code Online (Sandbox Code Playgroud)
(我在这里找到了答案:Make div element receive focus)
当然,在将焦点设置到子元素之前,请确保 body 元素已准备好。
我也遇到了同样的问题。要解决这个问题,请将代码放入 setTimeout 函数中。
function showMeOnClick() {
// Set text filed focus after some delay
setTimeout(function() { jQuery('#searchTF').focus() }, 20);
// Do your work.....
}
Run Code Online (Sandbox Code Playgroud)
也许你在渲染输入元素之前调用JavaScript?将输入元素放在JavaScript之前或等到页面加载后再触发JavaScript.
按顺序,它工作得很好:
<input type="text" id="test" />
<script type="text/javascript">
document.getElementById("test").focus();
</script>
Run Code Online (Sandbox Code Playgroud)
在jQuery中,您可以将代码放在.ready()方法中,以便在DOM完全加载时首先执行代码:
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#test").focus();
// document.getElementById("test").focus();
});
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31418 次 |
| 最近记录: |