3

thisスカラタグで作成されたイベント ハンドラ内から現在の ( ) 要素のテキストにアクセスしようとしています。これが私が試したものです:

val onChange = {(e: HTMLElement) =>
  number() = e.textContent.toInt
}: js.ThisFunction

input(`type`:="number", onchange := onChange).render

上記のコードをデバッグすると、関数に何も渡されませんonChange。具体的には、これを関数 body: に入れると js.Dynamic.global.alert(JSON.stringify(e))、 が出力され{}ます。e.textContentまた、 nullのエラーが発生します。thisjavascript要素に渡すにはどうすればよいですか?

4

1 に答える 1

3

私はscala.js gitterについていくつかの説明を得て、次のようにクロージャ内から要素にアクセスできることがわかりました:

val inputElem = input(`type`:="number").render
inputElem.onchange = {(e: Event) =>
  number() = inputElem.value.toInt
}
于 2015-06-13T17:45:17.917 に答える