質問: 画像をボタンのようにフォーカス対象にする。 画像をボタンのようにフォーカス対象にする。 現在、画像にonclick,onmouseover,onmouseoutイベントを設け、 ボタンとして機能を持たせて、html画面を作成しております。 htmlソース ! これを、キーボード操作だけでも押せるようにしたいのです。 この目的を果たす為には、 1.tabキーが押された時に移り変わるフォーカス対象の中に加える (画面の中には他に幾つかのテキストボックスやコンボボックスがあります) 2.enterキーが押された時のイベントを設定する。 この2項目を実現する為にはどうすればよいのでしょう? 特に2は、enterキーを押した時にフォーカス状態にある対象を判別する ⇒それによって実行する関数を選ぶif分岐を作る、といった手順が必要かなと想像しています。 (フォーカスされている画像が、「ログイン」ボタンだったらsubmit関数を呼び、 「リセット」ボタンだったら全項目をブランクにするコードを走らせる、等...) フォーカス対象、などのキーワードで検索しても別の事例が検索できてしまい なかなか解決できません。 web製作1ヶ月の初心者で、基本的な事を聞いてしまっているかもしれませんが ご助力いただけましたら幸いです。
回答: なんか、もっと素直な作り方があると思いますけれど... (htmlで用意されているものを、そのまま利用したほうが良いと思う) >1.tabキーが押された時に移り変わるフォーカス対象の中に加える スクリプトで特殊制御するよりも、form部品を利用するほうが賢いと思われます。 (そうでないと、formの制御全体を作成することになりかねない) >2.enterキーが押された時のイベントを設定する。 を利用してあげれば、enterとclickが同じイベントで取得できるけれど、他のテキスト入力欄でenterキーを押したときにsubmitの代表としてこの要素でイベントが発生したことになってしまうみたい。 これを区別するためにダミーでサブミットボタンを作ってみたところ、区別は可能になったが、非表示にしたとたんieはそのボタンを無視してくれる。 しかたが無いので、keyイベントで識別。 これだとclickについてはまた別に制御する必要がある。(省略) (enterキーでsubmitが発生するので、適当に制御する必要あり) test login: logout: