質問するログイン新規登録

回答編集履歴

1

説明を追記しました

2016/10/04 08:22

投稿

CyberMergina
CyberMergina

スコア295

answer CHANGED
@@ -9,4 +9,21 @@
9
9
  // ここに処理をかく
10
10
  }
11
11
 
12
- ```
12
+ ```
13
+
14
+ = 追記しました =
15
+
16
+ Enterキー+Shiftキーで処理を通ってしまったのは、
17
+ その時の **e.keyCodeは 13(Enterキーのコード)だったから** です。
18
+
19
+ keypress(keydownも同様)は、いずれかのキーを押したときに
20
+ **「Shift,Ctrl,Altキーがそれぞれ押されているか」**という値を戻り値(e)に持っているため、
21
+ **「e.keyCodeが13でも、shift/ctrl/altが同時に押されていない」**という条件を下記のように追加しました。
22
+
23
+ ```javascript
24
+ ( e.keyCode === 13 && (e.shiftKey === true || e.ctrlKey === true || e.altKey === true) )
25
+ ```
26
+
27
+ 説明が苦手なので、伝わるかわかりませんが・・・
28
+ このような感じです。
29
+ console.log で e を見てみながら、イベントを起こしてみると分かりやすいかもです。