我正在尝试从使用scalatags创建的事件处理程序中访问当前(this
)元素的文本。这是我试过的:
val onChange = {(e: HTMLElement) =>
number() = e.textContent.toInt
}: js.ThisFunction
input(`type`:="number", onchange := onChange).render
当我调试上面的代码时,没有任何内容传递给onChange
函数。具体来说,如果我将它放入函数体js.Dynamic.global.alert(JSON.stringify(e))
,它会打印{}
。另外,我收到e.textContent
为空的错误。如何让它传递到javascript this
元素?
答案 0 :(得分:2)
我对scala.js gitter做了一些澄清,事实证明你可以从闭包中访问元素,如下所示:
val inputElem = input(`type`:="number").render
inputElem.onchange = {(e: Event) =>
number() = inputElem.value.toInt
}