data-role = "none" не соблюдается при вызове триггера ("create") в jQuery Mobile версии rc2 - PullRequest
2 голосов
/ 20 октября 2011

Мы только что обновились с jquery mobile beta 2 до rc2. У нас была пользовательская кнопка, которую мы не хотим, чтобы jqm инициализировал (добавили дополнительную разметку), поэтому мы использовали это:

<button id="buttonid" data-role="none"></button>

И это сработало отлично, но теперь с обновлением фактически инициализируется кнопка. Я не вижу никаких обновлений в примечаниях к выпуску или документации. Я что-то упустил?

Разметка после обновления:

<div data-theme="c" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-down-c ui-btn-up-c" aria-disabled="false">
    <span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true">
        <span class="ui-btn-text"></span>
   </span>
   <button id="buttonid" data-role="none" class="ui-btn-hidden" aria-disabled="false"></button>
</div>

UPDATE Как отметил Фил, мою проблему трудно воспроизвести. Может быть что-то с моим кодом, но кажется странным, что простая меняющаяся версия создает поведение для меня. Вот дополнительная разметка, которую я впервые вычеркнул из примера:

<ul class="item" data-role="listview" data-inset="true">
<li data-role="list-divider">Something</li>
<li>
    <a href="#detailPage?id=123"></a>
    <div class="block_container" data-role="none">
        <div class="block block_small">
            <button data-role="none" id="check-123" class="check" data-id="something"></button>
        </div>
        <div class="block block_small assignment">
            <button data-role="none" id="assign-123" class="assignmentoverlay"></button>
        </div>
        <div class="block">
            <h3>
                Something
            </h3>
            <p>
                lorem..
            </p>
        </div>
    </div>
</li>

ОБНОВЛЕНИЕ 2 Я нашел в чем проблема. Я заполняю свой список из JavaScript. В конце я звоню trigger("create"). Это улучшит все элементы в моем списке, даже те, которые имеют data-role="none.

jsfiddle для воспроизведения проблемы - http://jsfiddle.net/V2xAX/9/

Обновление заголовка вопроса

ОБНОВЛЕНИЕ 3 Надеюсь, последнее обновление. Мы заставили его работать следующим образом:

При вызове trigger("create") в моем списке каждый элемент будет улучшен. Мы этого не хотим.

При вызове trigger("create") для элемента страницы, содержащего мобильную страницу jquery, будут улучшены только элементы без data-role="none". Это поведение, которое мы хотим.

Ссылка для тестирования - http://jsfiddle.net/V2xAX/16/

Было бы интересно узнать, почему это происходит:)

...