
下記のmenu.htmlでテキストボックスに入力をしてからの
Enterキーでタブ移動をしたい。そうすると、テキストボックス
に入力をしてから、連続してのEnterキーで検索が出来て
操作性が高まるので。この様な事はjavascriptで出来るのでしょうか。
下記にmenu.htmlを示します。実は、これ以外も関係をしてい
ますが。質問とは関係が無いので省いています。
menu.htmlの内容
<html>
<head>
<title>メニュー</title>
</head>
<body>
<style>
li.hide{display:none;}
</style>
<input type="text" name="keyword" id="keyword" tabindex=1>
<input type="button" value="choice" onclick="choice()" tabindex=2>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12 …
<script>
$(function(){
$("#target li:last-child a")[0].focus();
$("#target li:last-child a")[0].click();
$("#target a").on('keydown',function(e){
var target_a=$(this);
if(e.keyCode==74){
var target_li=$(this).closest('li').prev('li');
target_a=target_li.length==0?$(this).closest('ol').find('a:eq(-1)'):target_a=target_li.find('a');
}else if(e.keyCode==76){
var target_li=$(this).closest('li').next('li');
target_a=target_li.length==0?$(this).closest('ol').find('a:eq(0)'):target_a=target_li.find('a');
}else if(e.keyCode==75){
$("#keyword").focus();
e.preventDefault();
rerurn ;
}
var aa=target_a.text();
var bb="#"+aa;
$(bb).focus();
$(bb)[0].click();
});
});
function choice(){
var reg=new RegExp(document.getElementById("keyword").value);
var obj=document.getElementById("target").getElementsByTagName("li");
for(var i=0;i<obj.length;i++){
obj[i].className=(obj[i].textContent.match(reg))?"":"hide";
}
}
</script>
<ol id="target">
<li><a href="./150908-1504.html" target="contents" id="150908-1504">150908-1504</a></li>
<li><a href="./150908-1515.html" target="contents" id="150908-1515">150908-1515</a></li>
<li><a href="./150908-1518.html" target="contents" id="150908-1518">150908-1518</a></li>
</ol>
</BODY>
</HTML>
No.1ベストアンサー
- 回答日時:
こんにちは。
ご提示のスクリプトでは、既に、ほぼ同様のことを行っていると思います。
(キー入力を判定して、フォーカスを移動)
それなので、ご質問の処理をする同様のルーティンを追加するか、既存のスクリプトを拡張するなりすることで、対応可能なのではないでしょうか。
有難う御座います。
ここでは、エンターキーをタブキーとして
ブラウザに判断をさせたいと言う事です。
結果として、エンターキーを押下しての
タブキーとして機能して、次のタブに
移動をさせたいと言う事です。
ですから、今迄のとは少し違います。
今迄のはキーをそのまま認識しての判断です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SleniumBasicでコンパイルエラ...
-
Jqueryでリストのスクロール
-
JS <a></a>タグ内のリンク先ア...
-
jQueryのeqで最後からn番目以降...
-
jQueryでヒアドキュメントを使...
-
アコーディオンメニューの開閉制御
-
同一ページ内で、任意の文字列...
-
jqueryのプラグインflexslider...
-
JSPでの画像ファイル表示
-
jspでcssが読み込めない
-
javascriptテキストBOX色を元に...
-
ボタンを押すたびに交互に切り...
-
libjpegライブラリの使い方につ...
-
1枚の画像をクリックすると複数...
-
スタイルシートで画面を上下に...
-
css固定したフッターが本文と重...
-
リンクで違うページの指定箇所...
-
UWSC(マウス自動化ソフト)に...
-
クリックした自身の画像を別画...
-
リンク色を動的に変更したい。i...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
どの<li><a> が押されたか判別...
-
同一ページ内で、任意の文字列...
-
タブ切り替えの初期表示について
-
jQueryスライドメニューの初歩...
-
jQueryのeqで最後からn番目以降...
-
javascriptでフォーカスを当て...
-
<li></li>の数を制限
-
【javascript で動的に a タグ...
-
JS <a></a>タグ内のリンク先ア...
-
『JavaScript Accordion』について
-
カレントページ aタグではなく...
-
jQueryプラグインのメガドロッ...
-
jQueryで記事を6列表示にした...
-
大至急!!HPビルダー16の専...
-
jquery 親要素以外の取得
-
下記のようにクリックすると、...
-
jQueryでネスト構造の<li>がク...
-
ページの上下に同じタブメニュ...
-
jQueryについて質問なのですが...
おすすめ情報
下記の様にして、強制的にキーの値を読んで、
その内容を変更しても、タブキーとは見なして
来れません。
何がおかしいのでしょうか。
$("#keyword").on('keydown',function(e){
if (e.keyCode == 13){
e.keyCode = 9;
}
});
有難う御座います。
自己解決しました。