一、背景:
我正在使用 Tapestry 4,因此任何给定页面的 HTML 都是由分散在应用程序中的各种 HTML 片段拼接在一起的。对于我正在开发的组件,我没有 <body>
标签,所以我不能给它 onload
属性。
该组件有一个输入元素,在页面加载时需要获得焦点。有谁知道如何在页面加载时将焦点设置到文件输入(或任何其他文本类型输入)而无需访问正文标记?
我尝试将脚本插入正文中,例如
document.body.setAttribute('onload', 'setFocus()')
(其中 setFocus 是一个将焦点设置到文件输入元素的函数),但这不起作用。但我不能说我对此感到惊讶。
编辑:
如前所述,我确实需要使用页面组件来执行此操作。我最终将文件类型输入添加到我们用来将焦点放在页面上第一个可编辑和可见输入的脚本中。在研究这个问题时,我没有发现这样做有任何安全问题。
最佳答案
<script>
window.onload = function() {
document.getElementById('search_query').select();
//document.getElementById('search_query').value = '';
// where 'search_query' will be the id of the input element
};
</script>
我认为一定有用!!!
关于javascript - 如何在没有所有 HTML 的情况下将焦点设置到 HTML 输入元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/808908/