回答編集履歴

1

イベント時系列を追加

2021/03/18 07:19

投稿

int32_t
int32_t

スコア21679

test CHANGED
@@ -23,3 +23,31 @@
23
23
  - イベントハンドラを付け外しするのはコードがややこしくなりがちなので、イベントハンドラは最初から登録しっぱなしにしておいて、対象の状態によって処理を振り分けるほうが楽かもしれません。
24
24
 
25
25
  - 「入力してください」のような本来は値でないものを値として表示させるのはトラブルの元です。[placeholder属性](https://developer.mozilla.org/ja/docs/Web/HTML/Element/input#htmlattrdefplaceholder)や[required属性](https://developer.mozilla.org/ja/docs/Web/HTML/Attributes/required)を使ってしまってよいのではないでしょうか。
26
+
27
+
28
+
29
+ ----
30
+
31
+
32
+
33
+ 質問文の手順に沿って何が起きているか書いてみました。
34
+
35
+
36
+
37
+ 1)“お名前:”欄に、 "入力してください" が表示される。
38
+
39
+ 2)欄内をクリックすると、**focusイベントが発生し、イベントハンドラで**空欄になる。
40
+
41
+ 3)欄外をクリックすると、**blurイベントが発生し、イベントハンドラで**ポップアップ(“値なし”)が表示される。
42
+
43
+ 4)OKを応答後、“入力して!!!”が表示される。**focusイベントハンドラが登録される**
44
+
45
+ 5)欄内をクリックする。**focusイベントが発生し、ステップ4で登録済みのイベントハンドラが空欄にする。**
46
+
47
+ 6)欄内に”なまえ”文字を入力する。
48
+
49
+ 7)欄外をクリックすると、b**lurイベントが発生し登録済みのイベントハンドラで**ポップアップ(“値あり”)が表示される。
50
+
51
+ 8)OKを応答後、欄内をクリックする。**focusイベントが発生し、ステップ4で登録済みのイベントハンドラでステップ9が実行される**
52
+
53
+ 9)欄内の”なまえ”文字は、消去される。