回答編集履歴

1

説明を追記しました

2016/10/04 08:22

投稿

CyberMergina
CyberMergina

スコア295

test CHANGED
@@ -21,3 +21,37 @@
21
21
 
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ = 追記しました =
28
+
29
+
30
+
31
+ Enterキー+Shiftキーで処理を通ってしまったのは、
32
+
33
+ その時の **e.keyCodeは 13(Enterキーのコード)だったから** です。
34
+
35
+
36
+
37
+ keypress(keydownも同様)は、いずれかのキーを押したときに
38
+
39
+ **「Shift,Ctrl,Altキーがそれぞれ押されているか」**という値を戻り値(e)に持っているため、
40
+
41
+ **「e.keyCodeが13でも、shift/ctrl/altが同時に押されていない」**という条件を下記のように追加しました。
42
+
43
+
44
+
45
+ ```javascript
46
+
47
+ ( e.keyCode === 13 && (e.shiftKey === true || e.ctrlKey === true || e.altKey === true) )
48
+
49
+ ```
50
+
51
+
52
+
53
+ 説明が苦手なので、伝わるかわかりませんが・・・
54
+
55
+ このような感じです。
56
+
57
+ console.log で e を見てみながら、イベントを起こしてみると分かりやすいかもです。