在 ScalaJS 中使用 element.dataset

Using element.dataset in ScalaJS

使用后:

org.scalajs.dom.document.getElementById("myId")

获取一个元素,其dataset属性不可用。

但是,我在另一个 question.

中看到它被使用了

我在scala-js-dom的源代码树中搜索了dataset关键字,但一无所获。我可能缺少什么?

嗯——我同意它目前似乎还没有出现在 DOM 外观中,可能是因为它相对较新。 (根据 caniuse 的说法,它似乎是最近才获得普遍支持。一般来说,只有在所有主流浏览器都支持的情况下,功能才会进入 scalajs-dom。)

可能另一个例子是动态使用的?如果该示例中的 "elem" 是 js.Dynamic,则该代码将是无类型的,并且看起来可以工作。

我怀疑此时欢迎将其添加到 scalajs-dom 的 PR。与此同时,你应该能够通过添加一个补充外观来解决这个问题,比如(注意这是未经测试的):

@js.native
implicit class HTMLElementExt(elem:HTMLElement) {
  def dataset:js.Dictionary[String] = js.native
}