我想在我的jquery-plugin(基于widget-factory)中调用一个函数。
看起来像这样:
(function( $, window) {
$.widget("mobile.multiview",$.mobile.widget, {
stackUp: function (source, event, data) {
...
}
}
}) (jQuery,this);
我想从插件外部调用 stackUp 。问题:我不知道如何正确传递参数。这不起作用:
$('#trigger').multiview("stackUp('pagination', fakeEvent, fakeData)");
有人能指出我在插件中调用公共函数并传递参数的正确语法吗?
更新
我可以这样调用函数:
$('#trigger').multiview('stackUp');
但我怎样才能传递参数?
答案 0 :(得分:22)
好的,在无休止的干预之后,参数或参数会像这样传递:
$("#trigger").multiview('stackUp','pagination', fakeEvent, fakeData );
您只需在以逗号分隔的函数后添加参数。希望这也有助于其他人。
答案 1 :(得分:1)
我对jquery
不是很熟悉,但试试这个:
$("#trigger").multiview(function() { stackUp('pagination', fakeEvent, fakeData); });
这是一个匿名函数,将根据您的静态和动态参数执行。
答案 2 :(得分:1)
我真的不知道该插件是如何扩展并公开其功能的,但我猜您可以尝试以下方法之一:
$.mobile.widget.stackUp.apply($('#trigger'), ['pagination', fakeEvent, fakeData]);
$.mobile.multiview.apply($('#trigger'), ['pagination', fakeEvent, fakeData]);
然而,它们完全有可能不暴露该方法。你有代码吗?
<强>更新强>
在真正找到这个插件之后我会阅读文档,你应该能够做到:
$('#trigger').stackUp(...)
在此处查看来源:http://jqueryui.com/demos/widget/default.html - 并查看已定义的random
函数。
或者,您可以在更全局的范围内定义函数,然后将其用作配置对象的一部分,以及何时将其应用于特定元素。