Я еще не нашел обходной путь к медленной панели поиска фильтра, однако, если вы удалите все якорные теги и роли из списка UL LI, это удалит сотни привязок, которые замедляют загрузку страницы и переходы. Затем вам нужно добавить функцию:
// should be defined in your body onload method, or pageinit
$("li").on("click", function(event) {
// determine your URI here you want to load
// ...
$.mobile.changePage(uri);
}; // if list dividers exist, add code to ignore them, or get page load error.
Обновление: согласно документам, если добавить в mobileinit следующее, подстрока поиска применяется к началу искомых слов:
$.mobile.listview.prototype.options.filterCallback = function( text, searchValue ) {
return text.toLowerCase().substring( 0, searchValue.length ) !== searchValue;
};
Примечание: это все еще не ускоряет панель поиска полностью. Удар по backspace особенно медленный из-за мгновенного поиска и обновления DOM. Я не вижу хука API, чтобы исправить это (пока?) ... это может потребовать модификации библиотеки.
В сторону: валидатор кода в stackoverflow слишком требователен, поэтому я пропустил детали, такие как явный код mobileinit ...
Обновление: если вы переходите к CSS3-переходам и у вас возникают проблемы, рассмотрите следующее ...
Если вы столкнулись с артефактами рендеринга на iOS из-за того, что механизм рендеринга мозаичного изображения графического процессора не выполняет синхронизацию после перехода, может помочь следующее:
<style type="text/css">
html, body { -webkit-transform: translateZ(0); }
</style>