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

回答編集履歴

4

誤字を修正

2015/10/20 08:31

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -78,7 +78,7 @@
78
78
  ```
79
79
 
80
80
  これを利用して、以下のようにすることで目的のコードが実現できます。
81
- ※`escapeUnicode`関数は定義済み既に定義済みであるものとします。
81
+ ※`escapeUnicode`関数は既に定義済みであるものとします。
82
82
 
83
83
  ```HTML
84
84
  <input type="text" id="input">

3

説明の追加

2015/10/20 08:31

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -131,6 +131,11 @@
131
131
 
132
132
  ちなみにしれっと使っていますが、DOM要素に文字列を設定する場合は`innerHTML`ではなく`textContent`を利用してください。
133
133
  このコードでは`textContent`に対応していないブラウザのため、`setText`関数を定義しています。
134
+ `innerHTML`は処理が重い問題もあるため、可能な限り利用しないようにしましょう。
134
135
 
136
+ また、input要素の入力値は`value`で取得できます。
137
+ `charCode`または`keyCode`は押されたキーボードのキーの番号を返すもので、これはキーボード操作をJavaScriptで実現する時などに利用します。
138
+
135
- また、文字列が入力された時に処理を行う場合は`keydown`イベントや`keypress`イベントではなく、`input`イベントを利用してください。
139
+ さらに、文字列が入力された時に処理を行う場合は`keydown`イベントや`keypress`イベントではなく、`input`イベントを利用してください。
136
- 右クリックメニューでコピー&ペーストされた場合、`keydown`イベントや`keypress`イベントでは処理されません。
140
+ 右クリックメニューでコピー&ペーストされた場合、`keydown`イベントや`keypress`イベントでは処理されません。
141
+ この`input`イベントは古いブラウザには対応していないため、目的の環境で動作しない等の問題がありましたらお知らせください。

2

0埋めの処理を忘れていたため、編集

2015/10/20 00:43

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -62,8 +62,10 @@
62
62
  while (!Number.isNaN(char_code = str.charCodeAt(index++))) {
63
63
  /**
64
64
  * 文字に対応するUnicode番号を16進数文字列に変換
65
+ * 4桁になるよう、0埋めも行う
66
+ * @link http://stabucky.com/wp/archives/4655
65
67
  */
66
- hex_char_code = char_code.toString(16);
68
+ hex_char_code = ('000' + char_code.toString(16)).slice(-4);
67
69
 
68
70
  /**
69
71
  * Unicodeエスケープシーケンスを出力文字列に追加

1

「関数化すると」では情報が不足していると判断。「文字列を扱えるように関数化すると」に変更。

2015/10/20 00:38

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -24,7 +24,7 @@
24
24
  // 「12354」を出力します。
25
25
  ```
26
26
 
27
- 関数化すると以下のようになります。
27
+ 文字列を扱えるように関数化すると以下のようになります。
28
28
 
29
29
  ```JavaScript
30
30
  /**