まず、背景について説明します。私は Tapestry 4 で作業しているため、特定のページの HTML は、アプリケーション全体に散在するさまざまな HTML の断片からつなぎ合わされています。私が取り組んでいるコンポーネントには<body>
タグがないため、onload
属性を指定できません。
コンポーネントには、ページの読み込み時にフォーカスが必要な入力要素があります。body タグにアクセスせずに、ページの読み込み時にファイル入力 (またはその他のテキスト型入力) にフォーカスを設定する方法を知っている人はいますか?
スクリプトを本体に挿入しようとしましたが
document.body.setAttribute('onload', 'setFocus()')
( setFocus はファイル入力要素にフォーカスを設定する関数です)、うまくいきませんでした。とは言っても、私はそれに驚いたわけではありません。
編集:
述べたように、私は実際にページ コンポーネントでこれを行う必要があります。最終的に、ページ上の最初の編集可能で表示可能な入力にフォーカスを与えるために使用するスクリプトに、ファイル タイプの入力を追加することになりました。この問題を調査したところ、これを行ってもセキュリティ上の問題は見つかりませんでした。