【问题标题】:How to call a jQuery UI function?如何调用 jQuery UI 函数?
【发布时间】:2016-02-18 09:42:54
【问题描述】:

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

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

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

我该如何继续?

【问题讨论】:

    标签: scala.js


    【解决方案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(远远超出您的需要,但如果您想进一步推动)。

    【讨论】:

    • 谢谢,我会深入研究您的信息。我现在用一个肮脏的解决方法解决了这个问题......我添加了dom.document.body.appendChild(script("function refreshAccordion() {$(\"#usingAccordion\").accordion(\"refresh\");}").render)val clickButton = button(onclick := "refreshAccordion();").render,然后我可以用clickButton.click()刷新我的手风琴。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2016-01-31
    • 1970-01-01
    相关资源
    最近更新 更多