回答編集履歴
1
追記
answer
CHANGED
@@ -12,4 +12,17 @@
|
|
12
12
|
|
13
13
|
日本語入力だと変換確定時のEnterでEnterキーの`keyUp`が発生するからそれを避けたいと言うことだと思いますが、`<form>`でラップしてその`submit`イベントで送信するようにすれば、それを気にする必要はありません。
|
14
14
|
|
15
|
-
わからない部分があれば質問してください。
|
15
|
+
わからない部分があれば質問してください。
|
16
|
+
|
17
|
+
## 追記
|
18
|
+
|
19
|
+
[DEMO(JSFiddle)](https://jsfiddle.net/karamarimo/pxk3s5nq/)
|
20
|
+
|
21
|
+
このように`input`要素が1つだけ`form`内に存在する時、Enterキーを押すと自動で`form`全体が`submit`されます。複数あるときでも、`form`内に`type=submit`なボタンが存在すれば同様になります。
|
22
|
+
|
23
|
+
デフォルトでは`submit`時にページ遷移しようとしますが、`submit`イベントハンドラ内で`false`を返すか、イベントオブジェクト`e`に対して`e.preventDefault()`すれば防げます。
|
24
|
+
|
25
|
+
また、この方法であれば特別なことをしなくても、日本語変換確定のEnterでは送信されません。
|
26
|
+
|
27
|
+
関連リソース
|
28
|
+
[Implicit Submission of Form When Pressing Enter Key](http://stonefishy.github.io/blog/2015/06/30/implicit-submission-of-form-when-pressing-enter-key/)
|