【问题标题】:ScalaJS document.getElementById("editor").getAttribute("value") always returns nullScalaJS document.getElementById("editor").getAttribute("value") 总是返回 null
【发布时间】:2021-03-09 20:22:25
【问题描述】:

我正在尝试访问 scalajs 中 textarea 的值,如下所示:

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

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

我在普通的 javascript 中尝试了同样的事情,这似乎工作得很好!

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

我使用的是 scalajs 版本 1.3.1。

感谢任何帮助。 TIA。

【问题讨论】:

    标签: javascript scala.js


    【解决方案1】:

    显然我们必须将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)
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 2020-06-25
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多