Изменение выбора на не родное меню после того, как документация готова с помощью jQuery Mobile

У меня есть выбор в веб-приложении, написанном с помощью jQuery Mobile, и я хочу добавить data-native-menu="false к нему после того, как страница оказала.

У меня есть следующий пример:

HTML

<div id="cont">
    <select id="sel">
        <option>test1</option>
        <option>test2</option>
    </select>
 </div>

Javascript

$(document).ready(function () {
    $("#sel").attr("data-native-menu", "false");
    $("#sel").selectmenu("refresh");
});

выше в JSFiddle.

Атрибут добавлен нормально, но после того, как я попробовал все, что я могу придумать .selectmenu(), .trigger('create'), .selectmenu("refresh", true) и т. д. выбор не изменен с использования собственного меню на использование jQuery Mobile.

Очевидно, что-то мне не хватает, но что это?

1 ответ

Решение

Вам нужно установить его до создания страницы pagebeforecreate событие.

$(document).on("pagebeforecreate", function () {
  $("#sel").attr("data-native-menu", "false");
});

В jQuery Mobile используйте события jQM вместо использования .ready() как это не рекомендуется.

демонстрация

Другие вопросы по тегам