FireFoxのjavascriptで自動でキーを押させたい。その方法が分からない。
------------------------------------------------
onloadで下記のキーを(①~④)自動で2回打鍵したい。
1. シフトキーを押す
2. タブキーを押す
3. タブキーを離す
4. シフトキーを離す
------------------------------------------------
onload以降で下記の操作を実行したい。
左キーで下記のキーを自動で打鍵したい。
1. タブキーを打鍵する
右キーで下記のキーを打鍵する。
1. シフトキーを押す
2. タブキーを押す
3. タブキーを離す
4. シフトキーを離す
htmlのコードを知りたい。宜しく、お願いします。
No.3ベストアンサー
- 回答日時:
ANo2です。
目的がわからなかったので、前回のような回答をしましたが、ANo2でもお断りしましたようにあくまでもスクリプトレベルでのイベントですので、実際のタブキー押し下げと全く同じというわけではありません。
追加でご質問の、
『この場合は話を単純化して例えばタブキーを4回打鍵をした
場合は当然に4個目のボタンにフォーカスが移ります。』
ということがなさりたいのであるなら・・・
window.onload = function(){
document.getElementsByTagName("input")[3].focus();
}
みたいなことで、よいのではないでしょうか?
No.2
- 回答日時:
お望みの回答かどうかは不明ですが・・・
キーイベントを発生させることで、同様の状況を作り出すことは可能です。
ただし、スクリプトのレベルで「同様」という意味で、まったく同じではありませんので、ご質問の回答になっているのかどうかは不明です。
まず、チェック用に以下のスクリプトを用意しました。
document.addEventListener("keydown", keyHandler, false);
document.addEventListener("keyup", keyHandler, false);
function keyHandler(e){
var str = e.type + " / code=" + e.keyCode + " , shift=" + e.shiftKey;
var res = document.getElementById("status");
res.innerHTML += str + "<br>";
}
手動で、ご質問文の1~4を操作すると以下の結果表示となります。
keydown / code=16 , shift=true
keydown / code=9 , shift=true
keyup / code=9 , shift=true
keyup / code=16 , shift=false
上記の確認スクリプトが動作している状況で、以下のスクリプトを走らせても同様の結果(イベントとして検出される)となります。
function keyOperate(){
fireEvent("keydown", 16, true);
fireEvent("keydown", 9, true);
fireEvent("keyup", 9, true);
fireEvent("keyup", 16, false);
}
function fireEvent(type, code, shift){
var e = document.createEvent("Event");
e.initEvent(type,true,true);
e.keyCode = code;
e.shiftKey = shift;
document.dispatchEvent(e);
}
※ firefox 37にて確認しました。
有難う御座います。具体的なイメージがつかめないのですが。
御回答されたjavascriptのコードを実際のhtmlに挿入をする場合
下記の<script>以降に付いてはどう言うコードになるのでしょうか。
この場合は話を単純化して例えばタブキーを4回打鍵をした場合は
当然に4個目のボタンにフォーカスが移ります。
それで確認を取りたいのですが。
宜しく、お願いします。
<HTML>
<HEAD>
<TITLE>sample</TITLE>
<script>
<!--この部分のjavascriptのコードが不明-->
}
</script>
</HEAD>
<BODY>
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
<input type="button" value="発生" >
</BODY>
</HTML>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) Google日本語入力の操作方法 一度確定した後の訂正方法 1 2023/06/17 16:03
- iOS これは日本語入力の大発明ですか? 7 2022/12/21 07:17
- 楽器・演奏 ピアノの楽譜の基本的な質問 4 2022/12/04 22:20
- その他(パソコン・周辺機器) PCの操作中に画面がフリーズしましたマウスを動かしても反応しないし「Ctrl」キーと「Alt」キーと 2 2022/04/17 10:09
- マウス・キーボード scroll Lockキーを解除したけれど。 1 2022/09/16 09:23
- その他(プログラミング・Web制作) iMacのシェル内カーソル移動 1 2022/06/15 17:27
- C言語・C++・C# Microsoft Visual Studio Community 2019 タブキーが入力できない 1 2022/04/30 06:39
- Mac OS mac os xの設定の(起動ディスク)にブート用dvdが表示されません 1 2022/05/28 13:29
- Mac OS MacBook Airに外付けテンキー(有線)を接続しましたが、認識してくれません。 MacBook 2 2022/10/08 19:10
- オープンソース VScodeでステップ実行が出来ない 1 2023/04/03 22:40
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
JavaScript でキーを送る
JavaScript
-
[Javascript]エンターキー押下でTABキーコード送出!
JavaScript
-
JavaScript:現在フォーカスの次にフォーカスを移動したい
JavaScript
-
-
4
タブキーでなくエンターキーで次の項目へ
JavaScript
-
5
onchangeイベントを強制的に発生させる
JavaScript
-
6
Selectボックスの一覧表示方法
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScript window.openで開く...
-
showModalDialogで開いた画面を...
-
javascriptの基本的なことだと...
-
DOM要素を削除しても、イベント...
-
window.onloadを複数実行したい...
-
Latexに関する質問です。
-
excle VBA とweb上の検索を利用...
-
iframeのソースを取得したい
-
javascriptのdocument.allにつ...
-
ie操作 フレームのURLが...
-
Null またはオブジェクトではあ...
-
google マップ サイズ変更
-
オンマウスについて
-
ドロップダウンメニューを短縮...
-
このjavascriptのif文、条件式...
-
IEのイベントでのウインドウ...
-
Boolean型配列中のTrueの有無を...
-
ActiveXobjectが作成できない
-
C#テキストボックスの文字を配...
-
<a>タグのテキストを取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
codejump 模写コーディングgall...
-
このjavascriptのif文、条件式...
-
文字を一文字ずつ表示
-
DOM要素を削除しても、イベント...
-
FireFoxのjavascriptで自動でキ...
-
Javascriptのhtml出力についてa...
-
excle VBA とweb上の検索を利用...
-
Null またはオブジェクトではあ...
-
webページ上のTabキーの動き
-
XMLでのAttributeを持ったNode...
-
JavaScript window.openで開く...
-
ブラウザのウィンドウサイズに...
-
javascriptのdocument.allにつ...
-
javascriptの基本的なことだと...
-
responseTextについて
-
showModalDialogで開いた画面を...
-
iframeのソースを取得したい
-
removeEventListenerの必要性
-
クリッカブルマップのリンク部...
-
ラジオボタンをクリックしたい
おすすめ情報
先ほどの<script>を考えたのですが。全体を下記に示します。
タブを5回押した場合を想定しています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ja"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html"; charset="sjis">
<TITLE>sample</TITLE>
<SCRIPT TYPE="text/javascript">
<!--
function keyOperate(){
fireEvent("keydown", 9, true);
fireEvent("keyup", 9, true);
fireEvent("keydown", 9, true);
fireEvent("keyup", 9, true);
fireEvent("keydown", 9, true);
fireEvent("keyup", 9, true);
fireEvent("keydown", 9, true);
fireEvent("keyup", 9, true);
fireEvent("keydown", 9, true);
fireEvent("keyup", 9, true);
}
function fireEvent(type, code, shift){
var e = document.createEvent("Event");
e.initEvent(type,true,true);
e.keyCode = code;
e.shiftKey = shift;
document.dispatchEvent(e);
}
// -->
</SCRIPT>
</HEAD>
<BODY onload="keyOperate()">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
<INPUT TYPE="BUTTON" NAME="" VALUE="発生">
</BODY>
</HTML>