JQuery Mobile - как изменить параметр в вызове функции? - PullRequest
1 голос
/ 13 октября 2011

Я пытаюсь объединить два мобильных плагина Jquery.Обе используют одни и те же основные функции, но одна добавляет одну опцию, которая не позволяет другому плагину работать.

Функция вызывается так:

$.mobile.changePage(
          url,
          {
            type: type && type.length && type.toLowerCase() || "get",
            data: $this.serialize(),
            transition: $this.jqmData("transition"),
            direction: $this.jqmData("direction"),
            reloadPage: true,
            pageContainer:$currPanel
          }
      );

с использованием pageContainer толькоодна функция.

Мой вопрос: есть ли способ провести различие между вариантами или мне нужно сделать что-то вроде этого:

if (called by plugin one) { 
   function with option 
   } else if (called by plugin two){ 
       function without option
       }

Должны быть более приятные способы сделать это?

Спасибо за некоторый вклад!

1 Ответ

0 голосов
/ 13 октября 2011

Измерьте ваш объект вне вашего звонка и проверьте, требуется ли вам дополнительный параметр:

var myOptions = {
    type: type && type.length && type.toLowerCase() || "get",
    data: $this.serialize(),
    transition: $this.jqmData("transition"),
    direction: $this.jqmData("direction"),
    reloadPage: true,
};

if (caller == someVariable ) {
    myOptions.pageContainer = $currPanel;
}

$.mobile.changePage(url, myOptions);
...