Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问';这';事件处理程序中的元素传递到Scalatag?_Scala_Scala.js_Scalatags - Fatal编程技术网

如何访问';这';事件处理程序中的元素传递到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.

我试图从使用Scalatag创建的事件处理程序中访问当前(
)元素的文本。以下是我尝试过的:

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,这很有用!