ScalaJS document.getElementById("editor").getAttribute("value") 总是 returns null

ScalaJS document.getElementById("editor").getAttribute("value") always returns null

我正在尝试像这样访问 scalajs 中文本区域的值:

document.getElementById("editor").addEventListener("input", { (e: dom.Event) =>
      console.log(e)
      console.log(document.getElementById("editor").getAttribute("value"))
    })

但它总是returns null。不知道为什么!

我在普通香草中尝试了同样的东西 javascript,这似乎工作得很好!

<script>
     document.getElementById("editor").addEventListener("input", function(){
        console.log(document.getElementById("editor").value);
     });
</script>

我正在使用 scalajs 版本 1.3.1。

感谢任何帮助。 TIA.

显然我们必须将 document.getElementById 的结果转换为 org.scalajs.dom.html 个元素。

在这种情况下,在我们甚至可以向编辑器组件添加事件侦听器之前,我们需要先将 document.getElementById("editor") 的结果转换为 org.scalajs.dom.html.TextArea,如下所示:

val editor = document.getElementById("editor").asInstanceOf[TextArea]

那么如果我们想访问这个组件的 value 属性,我们可以这样做:

editor.addEventListener("input", { (e: dom.Event) =>
    console.log(editor.value)
});