質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

3回答

4570閲覧

SHIFT + TABキーがきかない

msz006

総合スコア66

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2016/10/04 01:04

SHIFT + TABキーの処理を行う種に下記の様に実装してみました
function TextFlgEnter(textbox, txtTo, txtBack) {
$(txt).keypress( function (e) {

// 「戻る」処理 if(e.shiftKey){ if(e.keyCode === 9){ if(!$(textbox).val() == "") { // 「フォーカスを当てる $(txtTo).focus(); return false; } else { // フォーカスを当てる $(txtBack).focus(); return false; } } } }

}

実行して、「SHIFT」 + 「TAB」を押下しても指定のテキストボックスに遷移しません。

if(e.keyCode === 9){ を
if(e.keyCode === 13){ に変更し「SHIFT」 + 「Enter」なら遷移されます。

どなたかお解かりの方よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/10/04 02:29

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
think49

2016/10/04 03:34

HTMLもコードブロック付きで追記をお願いします。
guest

回答3

0

デフォルト動作の範囲内のようなので tabindex 属性でフォーカス制御するとスマートに実装できると思いますが、いかがでしょうか。

HTML

1<form> 2 <label>text1 <input type="text" name="sample-1" id="sample-1" value="1" tabindex="1" /></label> 3 <label>text4 <input type="text" name="sample-4" id="sample-4" value="4" tabindex="4" /></label> 4 <label>text2 <input type="text" name="sample-2" id="sample-2" value="2" tabindex="2" /></label> 5 <label>text5 <input type="text" name="sample-5" id="sample-5" value="5" tabindex="5" /></label> 6 <label>text3 <input type="text" name="sample-3" id="sample-3" value="3" tabindex="3" /></label> 7</form>

Re: msz006 さん

投稿2016/10/04 02:21

think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

$(txt).keypress()「txt」はどこから参照しているのでしょうか?

投稿2016/10/04 01:41

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

function TextFlgEnter(textbox, txtTo, txtBack) { $(txt).keypress( function (e) { // 「戻る」処理 if(e.shiftKey){ if(e.keyCode === 9){ if(!$(textbox).val() == "") { // 「フォーカスを当てる $(txtTo).focus(); return false; } else { // フォーカスを当てる $(txtBack).focus(); return false; } } } }); }

2行目の「keypress」を「keydown」「keyup」に変更すれば問題ない
$(txt).keydown( function (e) {

投稿2016/10/07 00:21

msz006

総合スコア66

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問