如何访问';这';事件处理程序中的元素传递到Scalatag?
我试图从使用Scalatag创建的事件处理程序中访问当前(如何访问';这';事件处理程序中的元素传递到Scalatag?,scala,scala.js,scalatags,Scala,Scala.js,Scalatags,我试图从使用Scalatag创建的事件处理程序中访问当前(此)元素的文本。以下是我尝试过的: val onChange = {(e: HTMLElement) => number() = e.textContent.toInt }: js.ThisFunction input(`type`:="number", onchange := onChange).render 当我调试上述代码时,没有向onChange函数传递任何内容。具体来说,如果我将其放入函数体:js.Dynamic.
此
)元素的文本。以下是我尝试过的:
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这个
元素?我得到了一些澄清,结果证明您可以从闭包中访问该元素,如下所示:
val inputElem = input(`type`:="number").render
inputElem.onchange = {(e: Event) =>
number() = inputElem.value.toInt
}
你说“什么都没有通过”是什么意思?我看不出您的代码片段中有任何错误。如果我将其放入函数体:
js.Dynamic.global.alert(JSON.stringify(e))
,它将打印{}
。另外,我得到一个错误,即e.textContent
为空。谢谢Julie,这很有用!