Кажется, я не могу понять, почему это происходит: у меня есть неупорядоченный список в jQuery Mobile с data-inset="true"
, и при первом рендеринге он отлично выглядит с закругленными верхом и низом. Однако после динамического добавления новых элементов в список и вызова listview('refresh')
для него он отображается как не вставленный в список.
Обновление: Это происходит только при вызове listview('refresh');
в списке, которого нет на текущей активной странице. Когда вы переходите на страницу со списком, список обновляется всеми стилями, относящимися к списку вставок, КРОМЕ скругленных углов вверху и внизу. Для воспроизведения этой ошибки используйте это: http://jsfiddle.net/94X7S/10/
Вот как выглядит HTML в списке ДО вызова .listview('refresh');
<ul data-role="listview" data-inset="true" data-theme="c" data-divider-theme="b" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
<li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
User Reviews (4) <span class="rate"><img src="..." alt="Rating"/></span>
</li>
<li data-theme="c" class="ui-btn ui-btn-up-c ui-btn-icon-right ui-li-has-arrow ui-li">
<div class="ui-btn-inner ui-li" aria-hidden="true">
<div class="ui-btn-text">
<a href="#reviews" class="ui-link-inherit">
<h3 class="ui-li-heading"><img src="..." alt="Rating"/>Review Title</h3>
<p class="ui-li-desc">Review Content...</p>
</a>
</div>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow"/>
</div>
</li>
<li data-theme="c" class="ui-btn ui-btn-up-c ui-btn-icon-right ui-li-has-arrow ui-li ui-corner-bottom">
<div class="ui-btn-inner ui-li" aria-hidden="true">
<div class="ui-btn-text">
<a href="#reviews" class="ui-link-inherit">
<h3 class="ui-li-heading"><img src="..." alt="Rating"/>Review Title</h3>
<p class="ui-li-desc">Review Content...</p>
</a>
</div>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow"/>
</div>
</li>
</ul>
А вот как выглядит HTML в списке ПОСЛЕ вызова .listview('refresh');
<</p>
ul data-role="listview" data-inset="true" data-theme="c" data-divider-theme="b" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
<li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b">
User Reviews (4) <span class="rate"><img src="..." alt="Rating"/></span>
</li>
<li data-theme="c" class="ui-btn ui-btn-up-c ui-btn-icon-right ui-li-has-arrow ui-li">
<div class="ui-btn-inner ui-li" aria-hidden="true">
<div class="ui-btn-text">
<a href="#reviews" class="ui-link-inherit">
<h3 class="ui-li-heading"><img src="..." alt="Rating"/>Review Title</h3>
<p class="ui-li-desc">Review Content...</p>
</a>
</div>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow"/>
</div>
</li>
<li data-theme="c" class="ui-btn ui-btn-up-c ui-btn-icon-right ui-li-has-arrow ui-li">
<div class="ui-btn-inner ui-li" aria-hidden="true">
<div class="ui-btn-text">
<a href="#reviews" class="ui-link-inherit">
<h3 class="ui-li-heading"><img src="..." alt="Rating"/>Review Title</h3>
<p class="ui-li-desc">Review Content...</p>
</a>
</div>
<span class="ui-icon ui-icon-arrow-r ui-icon-shadow"/>
</div>
</li>
</ul>
Обратите внимание, что некоторые из классов в первом и последнем <li>
отсутствуют после listview('refresh');
- есть ли причина, по которой это происходит, или что-то, что можно сделать, чтобы предотвратить это? Любая помощь будет оценена.