【发布时间】:2015-09-23 00:43:32
【问题描述】:
使用 scalajs-jquery 0.8.0,在以下导入假设下:
import org.scalajs.jquery.{jQuery => $`, the following does not compile:
import dom.html.Element
以下代码无法编译,这是我的问题:
$("").hover(((_this: Element, event: JQueryEventObject) => { }): js.ThisFunction)type mismatch;
found : scala.scalajs.js.ThisFunction
required: scala.scalajs.js.Function1[org.scalajs.jquery.JQueryEventObject,scala.scalajs.js.Any]
但以下内容确实可以编译。
$("").click(((_this: Element, event: JQueryEventObject) => {
}): js.ThisFunction)
由于方法 click 和 hover 具有相同的签名(因此应该应用相同的隐式),为什么第一次调用没有编译,而第二次调用可以编译?参见JQuery.scala
编辑:解决方法:我发现的解决方法是显式转换函数,因此:
$("").hover((((_this: Element, event: JQueryEventObject) => { }): js.ThisFunction).asInstanceOf[js.Function1[org.scalajs.jquery.JQueryEventObject,scala.scalajs.js.Any]])【问题讨论】:
标签: scala.js