在 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
}
使用后:
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
}