Подтвердить что ты не робот

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');

но как передать параметры?

4b9b3361

Ответ 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, которая определена.

В качестве альтернативы вы можете просто определить функцию в более глобальной области, а затем использовать ее как часть объекта конфигурации и когда вы хотите применить ее к определенным элементам.