ここから本文です

緊急です!

アバター

ID非公開さん

2019/9/1812:29:10

緊急です!

エンターキーを押してタブキーと同じ動きをさせたいのですが、

Function focus_acction(){
if(event.keyCode == 13){
event.keyCode = 9;
}
}

という関数を発火させようとしたところ、ifの中に入ってもevent.keyCodeに9が代入されません。
なぜなんでしょう?
この関数が使えない場合に他になにか良い手はありますか?

助けてください。

補足インデントぐちゃぐちゃですみません

閲覧数:
38
回答数:
3
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

2019/9/1920:01:20

緊急とのことだけど、もう1日以上経ってるんで要らないかな?



セキュリティ対策なのか最近のブラウザではevent.keyCodeプロパティの強制的な変更は出来ないらしい。

↓やるとしたらこんな感じ?
Function focus_acction(){
if(event.keyCode == 13){
var o = document.activeElement;
o.nextElementSibling.focus();
event.preventDefault();
}
}

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

dot********さん

2019/9/1910:49:07

keyCodeプロパティは読み取り専用ですやん。

自分はこんなの使ってます。次のTabIndexをフォーカス。

$(document).on('keypress', 'input[type="text"]', function (ev) {
var $me = $(this);
if (ev.keyCode == 13) {
var mytabindex = $me[0].tabIndex;
var targetIndex = (!event.shiftKey) ? (mytabindex + 1) : (mytabindex - 1);
$('[tabindex=' + targetIndex + ']').focus();
ev.preventDefault();
}
});

jQueryですまんね。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

2019/9/1819:04:54

EnterキーまたはTabキーを押したら処理Xをする、
ようにプログラムしたいのなら、

document.onkeydown = function (event) {
if ((event.keyCode == 9) || (event.keyCode == 13)) {
(処理X);
}
}

とすればよいと思います。
勝手に event.keyCode に 9 を代入するなんて出来ないと思うのですが、、、。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる