回答編集履歴
5
DEMOが古い
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
クロージャと即次関数を利用して、外部から変数の変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/
|
1
|
+
クロージャと即次関数を利用して、外部から変数の変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/2/)
|
2
2
|
|
3
3
|
|
4
4
|
|
4
コメント内に使用する固有名詞を極限まで減らす
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
addEventListener('keydown',function(event){
|
20
20
|
|
21
|
-
// 入力キーを記憶
|
21
|
+
// 入力キーを記憶する
|
22
22
|
|
23
23
|
if(previousKey!==event.keyCode){
|
24
24
|
|
3
コメントの整理
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
// 時間超過で
|
29
|
+
// 時間超過で入力キーをクリア
|
30
30
|
|
31
31
|
clearTimeout(timeoutId)
|
32
32
|
|
@@ -42,9 +42,11 @@
|
|
42
42
|
|
43
43
|
}
|
44
44
|
|
45
|
-
previousKey= null// 再度、二重入力できるように
|
45
|
+
previousKey= null// 再度、二重入力できるようにクリア
|
46
46
|
|
47
|
+
|
47
48
|
|
49
|
+
// 以下、二重入力時の処理…
|
48
50
|
|
49
51
|
alert(event.keyCode)
|
50
52
|
|
2
リファクタリング
test
CHANGED
@@ -6,13 +6,37 @@
|
|
6
6
|
|
7
7
|
(function(){
|
8
8
|
|
9
|
+
var timeout= 1000// ms
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
// タイマー、入力キーのキャッシュ
|
14
|
+
|
15
|
+
var timeoutId= null
|
16
|
+
|
9
17
|
var previousKey= null
|
10
18
|
|
11
|
-
|
19
|
+
addEventListener('keydown',function(event){
|
20
|
+
|
21
|
+
// 入力キーを記憶して、タイマーを初期化する
|
12
22
|
|
13
23
|
if(previousKey!==event.keyCode){
|
14
24
|
|
15
25
|
previousKey= event.keyCode
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
// 時間超過で初期化
|
30
|
+
|
31
|
+
clearTimeout(timeoutId)
|
32
|
+
|
33
|
+
timeoutId= setTimeout(function(){
|
34
|
+
|
35
|
+
previousKey= null
|
36
|
+
|
37
|
+
},timeout)
|
38
|
+
|
39
|
+
|
16
40
|
|
17
41
|
return
|
18
42
|
|
1
誤字:てにおは
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
クロージャと即次関数を利用して、外部から変数
|
1
|
+
クロージャと即次関数を利用して、外部から変数の変更を禁止します。[DEMO](https://jsfiddle.net/59naga/7jos9r0v/1/)
|
2
2
|
|
3
3
|
|
4
4
|
|