Событие изменения меню выбора JQuery Mobile срабатывает несколько раз - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть Многостраничный макет JQuery Mobile , и я хочу вызвать функцию при изменении меню выбора на моем сайте.

В настоящее время при изменении меню запускаются три события.

Я собрал пример , который должен показать вам, с чем я сталкиваюсь.

  1. В главном меню выберите Веб-настройки
  2. Измените параметр Тема на странице. Обратите внимание на три предупреждения

Вот мой код для регистрации события

$(document).bind("pagecreate", function() {
    $("#settings-theme").bind("change", function(event) {
        alert(event.target);
    });
});

Вещи, которые я пробовал:

  • Изменение data-native-menu="false" на true убрало одно из событий.
  • Удалены все остальные страницы , за исключением веб-настроек , что также уменьшило количество событий, запускаемых до двух.
  • В JSFiddle Framework Framework> Head (nowrap), измененный на DomReady, также устранен пожар событий.

Обновление Похоже, что pagecreate запускается при каждом первом просмотре страницы, а также дважды при загрузке домашней страницы.Таким образом, к моменту загрузки страницы настроек событие было привязано три раза ... все еще нет решения.

1 Ответ

1 голос
/ 26 сентября 2011
$(document).bind("ready", function() {
    $("#settings-theme").live("change", function() {
        alert("changed");
    });
});

или

$(document).bind("ready", function() {
    $("#pg-settings").delegate("#settings-theme", "change", function() {
        alert("changed");
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...