首先,背景:我正在使用 Tapestry 4,因此任何给定页面的 HTML 都是由分散在整个应用程序中的各种 HTML 片段拼接在一起的。对于我正在处理的组件,我没有<body>
标签,所以我不能给它一个onload
属性。
该组件有一个在页面加载时需要焦点的输入元素。有谁知道在页面加载时将焦点设置为文件输入(或任何其他文本类型输入)而不访问正文标记的方法?
我尝试将脚本插入到正文
document.body.setAttribute('onload', 'setFocus()')
中(其中 setFocus 是将焦点设置为文件输入元素的函数),但这不起作用。不过,我不能说我对此感到惊讶。
编辑:
如前所述,我确实需要使用页面组件来执行此操作。我最终将文件类型的输入添加到我们用来将焦点放在页面上的第一个可编辑和可见输入的脚本中。在研究这个问题时,我没有发现任何安全问题。