Jquery - как вызвать функцию с параметрами внутри виджета - factory плагин?
Я хочу вызвать функцию внутри моего jquery-plugin (на основе виджета factory).
Похож:
(function( $, window) {
$.widget("mobile.multiview",$.mobile.widget, {
stackUp: function (source, event, data) {
...
}
}
}) (jQuery,this);
Я хочу вызвать stackUp из-за пределов плагина. Проблема: я не знаю, как правильно передать параметры. Это не работает:
$('#trigger').multiview("stackUp('pagination', fakeEvent, fakeData)");
Может ли кто-нибудь указать мне на правильный синтаксис вызова публичной функции внутри плагина и прохождения параметров?
UPDATE:
Я могу вызвать функцию следующим образом:
$('#trigger').multiview('stackUp');
но как передать параметры?
Ответы
Ответ 1
Хорошо, после бесконечного вмешательства параметры или аргументы передаются следующим образом:
$("#trigger").multiview('stackUp','pagination', fakeEvent, fakeData );
Вам нужно добавить параметры после функции, разделенной запятой. Надеюсь, это тоже поможет кому-то другому.
Ответ 2
Я не очень хорошо знаком с jquery
, но попробую:
$("#trigger").multiview(function() { stackUp('pagination', fakeEvent, fakeData); });
Это анонимная функция, которая будет выполняться по необходимости с вашими статическими и динамическими параметрами.
Ответ 3
Я не знаю, как этот плагин расширяет и раскрывает свои функции, но я бы предположил, что вы могли бы попробовать одно из следующих:
$.mobile.widget.stackUp.apply($('#trigger'), ['pagination', fakeEvent, fakeData]);
$.mobile.multiview.apply($('#trigger'), ['pagination', fakeEvent, fakeData]);
Однако вполне возможно, что они не раскрывают этот метод. У вас есть код где-нибудь?
UPDATE
После того, как вы узнали, какой плагин я прочитал в документах, вы должны иметь возможность:
$('#trigger').stackUp(...)
Смотрите здесь: http://jqueryui.com/demos/widget/default.html - и посмотрите на функцию random
, которая определена.
В качестве альтернативы вы можете просто определить функцию в более глобальной области, а затем использовать ее как часть объекта конфигурации и когда вы хотите применить ее к определенным элементам.