1

見始めたところDartです。<p>の編集時にタグを更新してい<input type="form">ます。

ただし、onKeyDownイベントを使用すると、すぐに更新されず、キーを 1 回押すだけで遅延します。AAA を押すと、AA のみが表示されます。

私が を使えばonKeyUp、AAA は私に AAA をくれます。

を使用しているときに期待どおりに更新されないのはなぜonKeyDownですか?

コードは次のとおりです。

import 'dart:html';

TextInputElement inputText;
ParagraphElement pargraphText;

void main() {
  inputText = querySelector("#text");
  pargraphText = querySelector("#paragraphText");

  // inputText.onKeyDown.listen(updateTekst);
  inputText.onKeyUp.listen(updateTekst);
}

void updateTekst(Event e) {
  pargraphText.text = inputText.value.toUpperCase();
}
4

1 に答える 1

4

これは、input 要素にまだ値がないためです。keyPress または keyUp で値を取得しますが、keyDown ではまだ値を取得しません。入力フィールドの代わりにイベントの値を使用すると、最初の keyDown でも値が取得されます。

e.keyCode を使用できます (charCode は keyDown に設定されていません)。

import 'dart:convert';

...

// doesn't distinguish between upper/lower case (you have to check e.shiftKey)
UTF8.decode([e.keyCode]); 
于 2014-02-27T09:55:15.700 に答える