如何调用jQuery UI函数?

时间:2016-02-18 09:42:55

标签: scala.js

我有一个 jQuery UI 元素,我想写类似的东西

$('myAccordion').accordion("refresh")

但是,这不会编译,因为我只有jQuery的外观 - 而不是jQuery UI。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

基本上,您为所需功能编写了一个迷你外观。这看起来令人生畏,但关键是你只需要写下你实际使用的东西,所以它非常简单。

请注意,这不是袖手旁观,也没有经过测试,但是一个简单的版本会是这样的:

@js.native
trait JQueryAccordionFacade extends js.Object {
  def accordion(cmd:String):JQuery = js.native
}
...
implicit def jq2Accordion(jq:JQuery):JQueryAccordionFacade = jq.asInstanceOf[JQueryAccordionFacade]

你需要一些导入和东西,显然这个可以以更强类型的方式编写,但这就是大部分内容:只是你要调用的函数的描述,以及从普通JQuery外观到Accordion外观的隐式转换。一旦掌握了它,门面写作就很容易了。

Here are a couple of examples of some fully-worked jQuery UI facadeshere are the full details on how to write jQuery facades(远远超过您的需要,但如果您想进一步推动这一点)。