我想从scala.js调用jquery-ui。我试图修改jQuery库的实现方式,但目前为止没有成功。所以,我已经定义了以下特性和包装对象:在scala.js中实现jquery-ui
trait JQueryUI extends js.Object {
def apply(selector: String): JQueryUI = ???
val buttonset: js.Any = ???
}
package object jqueryui extends js.GlobalScope {
val jQueryUI: JQueryUI = ???
}
,然后添加一个JSApp如下:
object JQueryUIApp extends JSApp {
def main(): Unit = {
jqueryui.jQueryUI("#sports").buttonset
}
}
但我的JavaScript控制台上,我得到以下错误:
TypeError: ScalaJS.g["jQueryUI"] is not a function (0, ScalaJS.g["jQueryUI"])("#sports")["buttonset"]
有人能告诉我我失踪了什么吗?
工作完美。只需将“val buttonset”更改为“def buttonset()” – user79074 2015-01-21 13:59:23
是否可以将函数添加到特质JQueryStatic中。例如,要获得像这样的结果jQuery.someFunction()? – 2016-05-31 02:48:30
@AlexKarasev是的。使用完全相同的技术,但用'implicit def'中的'JQueryStatic'替换'JQuery'。该技术适用于任何JavaScript类型。 – sjrd 2016-05-31 09:53:41