Настройка значений по умолчанию
Работа с автоматической инициализацией jQuery Mobile
В отличие от других проектов jQuery, таких как jQuery и jQuery UI, jQuery Mobile автоматически применяет множество улучшений разметки сразу после загрузки (задолго до того, как сработает событие document.ready). Эти улучшения применяются на основе значений по умолчанию jQuery Mobile, которые разработаны для работы со стандартными сценариями. Если требуются изменения настроек, их легко настроить.
Событие mobileinit
Когда jQuery Mobile запускается, он вызывает событие mobileinit на объекте document. Чтобы переопределить значения по умолчанию, привяжите обработчик к событию mobileinit.
$( document ).on( "mobileinit", function() {
//apply overrides here
}); Поскольку событие mobileinit срабатывает немедленно, вам нужно будет привязать обработчик события до загрузки jQuery Mobile. Свяжите файлы JavaScript в следующем порядке:
<script src="jquery.js"></script> <script src="custom-scripting.js"></script> <script src="jquery-mobile.js"></script>
Вы можете переопределить значения по умолчанию, расширяя объект $.mobile с помощью метода jQuery $.extend.
$( document ).on( "mobileinit", function() {
$.extend( $.mobile , {
foo: bar
});
}); В качестве альтернативы, вы можете установить их с помощью обозначения свойств объекта.
$( document ).on( "mobileinit", function() {
$.mobile.foo = bar;
}); Настраиваемые параметры
Следующие значения по умолчанию настраиваются через объект $.mobile:
-
activeBtnClassstring, default: "ui-btn-active" - Класс CSS, используемый для состояния "активной" кнопки.Устарело в версии 1.4 и будет удалено в версии 1.5. Класс "ui-btn-active" по-прежнему будет применяться к элементам, как и прежде.
-
activePageClassstring, default: "ui-page-active" - Класс CSS, используемый для страницы, которая в данный момент отображается или находится в процессе перехода.Устарело в версии 1.4 и будет удалено в версии 1.5. Класс "ui-page-active" по-прежнему будет применяться к элементам, как и прежде.
-
ajaxEnabledboolean, default: true - jQuery Mobile автоматически обрабатывает нажатия ссылок и отправку форм через Ajax, когда это возможно. Если false, отслеживание URL-хэша также будет отключено, и URL будут загружаться как обычные HTTP-запросы.
-
allowCrossDomainPagesboolean, default: false - Когда jQuery Mobile пытается загрузить внешнюю страницу, запрос проходит через
$.mobile.loadPage(). Это позволит выполнять запросы между доменами только в том случае, если$.mobile.allowCrossDomainPagesустановлено в значение true. Поскольку фреймворк jQuery Mobile отслеживает, какая страница просматривается в хэше расположения браузера, может произойти атака XSS (межсайтовый скриптинг), если код XSS может манипулировать хэшем и установить его на URL другого домена по своему выбору. Это основная причина, по которой значение по умолчанию для $.mobile.allowCrossDomainPages установлено в false. В приложениях PhoneGap, которые должны «связываться» с удаленным сервером, загружая ресурсы с него, оба значения$.support.corsИ$.mobile.allowCrossDomainPagesдолжны быть установлены в true. -
autoInitializePageboolean, default: true - После подготовки DOM, фреймворк должен автоматически вызвать
$.mobile.initializePage. Если false, страница не будет инициализирована и будет визуально скрыта до тех пор, пока$.mobile.initializePageне будет вызвана вручную. - Установите задержку для сенсорных устройств, чтобы добавлять классы hover и down при взаимодействии с сенсорными кнопками во всем фреймворке. Уменьшение этой задержки приводит к более отзывчивому пользовательскому интерфейсу, но часто приводит к тому, что состояние down будет применено во время прокрутки страницы. Устарело в версии 1.4 - используйте
$.mobile.hoverDelayвместо этого. -
defaultDialogTransitionstring, default: 'pop' - Установите значение по умолчанию для перехода при изменении диалога с использованием Ajax. Установите 'none' для отсутствия переходов. Устарело в версии 1.4.
При использовании страниц, стилизованных как диалоговые окна (
data-role="page" data-dialog="true"), если вы хотите, чтобы у них был другой переход, чем у обычных страниц, вы должны указать переход в ссылке, открывающей их, добавив атрибутdata-transition="pop"к ссылке. "pop" — просто пример. Вы можете указать любой переход, например, "slide", "flip" или "none".Аналогично, при вызове метода
change()pagecontainer также необходимо явно указать переход, если вы хотите, чтобы он отличался от$.mobile.defaultPageTransition:$( ":mobile-pagecontainer" ) .pagecontainer( "change", "dialog.html", { transition: "pop" } ); $.mobile.defaultDialogTransition устарел. -
defaultPageTransitionstring, default: 'fade' - Установите значение по умолчанию для перехода при изменении страницы с использованием Ajax. Примечание: значение по умолчанию было изменено с 'slide' на 'fade' в версии 1.1. Установите 'none' для отсутствия переходов.
-
degradeInputsobject -
"color", default:false - Тип ввода, в который преобразуются элементы
inputтипа"color". -
"date", default:false - Тип ввода, в который преобразуются элементы
inputтипа"date". -
"datetime", default:false - Тип ввода, в который преобразуются элементы
inputтипа"datetime". -
"datetime-local", default:false - Тип ввода, в который преобразуются элементы
inputтипа"datetime-local". -
"email", default:false - Тип ввода, в который преобразуются элементы
inputтипа"email". -
"month", default:false - Тип ввода, в который преобразуются элементы
inputтипа"month". -
"number", default:false - Тип ввода, в который преобразуются элементы
inputтипа"number". -
"range", default:"number" - Тип ввода, в который преобразуются элементы
inputтипа"range". -
"search", default:"text" - Тип ввода, в который преобразуются элементы
inputтипа"search". -
"tel", default:false - Тип ввода, в который преобразуются элементы
inputтипа"tel". -
"time", default:false - Тип ввода, в который преобразуются элементы
inputтипа"time". -
"url", default:false - Тип ввода, в который преобразуются элементы
inputтипа"url". -
"week", default:false - Тип ввода, в который преобразуются элементы
inputтипа"week". -
dynamicBaseEnabledboolean, default: true - Когда это свойство установлено в
false, значение тега base в браузерах, поддерживающих динамический тег base, и URL-префиксы в браузерах, которые этого не делают, не будут обновлены, чтобы отразить место загрузки страницы. Это означает, что ссылки на ресурсы, которые относительны к странице, на которой они определены, могут сломаться. Этот параметр доступен для веб-фреймворков, которые работают с универсальным значением тега base, где все ссылки и ресурсы относительны к одному основанию. -
focusClassstring, default: "ui-focus" - Класс CSS, используемый для состояния "активной" кнопки.Устарело в версии 1.4 и будет удалено в версии 1.5. Класс "ui-focus" по-прежнему будет применяться к элементам, как и прежде.
-
getMaxScrollForTransitionfunction - Устанавливает разрыв прокрутки для переходов. Если позиция прокрутки больше значения, возвращаемого этой функцией, переход "none" будет использоваться. По умолчанию функция возвращает утроенную высоту окна.
-
gradeAфункция, возвращающая boolean, default: функция, возвращающая значение $.support.mediaquery - Любые условия поддержки, которые должны быть выполнены для продолжения.
-
hashListeningEnabledboolean, default: true - jQuery Mobile автоматически отслеживает и обрабатывает изменения в location.hash. Отключение этого параметра предотвратит обработку jQuery Mobile изменений хэша, что позволит вам обработать их самостоятельно или использовать простые глубокие ссылки в документе, которые прокручивают к определенному идентификатору.
-
ignoreContentEnabledboolean, default: false -
Предупреждение: Установка этого свойства в значение true приведет к снижению производительности при улучшении. После установки все автоматические улучшения, вносимые фреймворком к каждому улучшаемому элементу разметки пользователя, сначала проверят наличие
data-enhance=falseродительского узла. Если он найден, разметка будет проигнорирована. Это свойство и соответствующий атрибут данных предоставляют механизм для предотвращения улучшения больших фрагментов разметки. -
keepNativeСелектор, default: ":jqmData(role='none'), :jqmData(role='nojs')" - Элементы, соответствующие селектору, указанному в этом параметре, никогда не будут улучшаться. Это отличается от ignoreContentEnabled, потому что это не влияет на потомков элементов, соответствующих этому селектору.
-
linkBindingEnabledboolean, default: true - jQuery Mobile автоматически привязывает нажатия на якоря в вашем документе. Установка этого параметра в false предотвратит всю обработку нажатия якорей, включая добавление активного состояния кнопки и затухания альтернативных ссылок. Это следует использовать только при попытке делегировать управление нажатием другой библиотеке или пользовательскому коду.
-
maxTransitionWidthцелое число, логическое значение, default: false - Установите максимальную ширину для переходов. Параметр принимает любое число, представляющее ширину в пикселях, и его значение по умолчанию
false. Если задано числовое значение, переход "none" будет использоваться, если ширина окна больше заданного значения. -
minScrollBackцелое число, default: 0 - Минимальное расстояние прокрутки, которое будет сохранено при возвращении на страницу.Устарело в версии 1.4 и будет удалено в версии 1.5. Любая прокрутка будет сохраняться. Это соответствует поведению нативных браузеров. Старое значение по умолчанию 250 изменено на 0 во время периода устаревания.
-
nsstring, default: "" - Используемый в атрибутах данных (например, data-role) префикс. Может быть установлен в любое строковое значение, включая пустую строку, которая является значением по умолчанию. При использовании рекомендуется включать префикс с тире, например, "mynamespace-", что соответствует
data-mynamespace-foo="...".Если вы используете именование по префиксам данных, вам нужно обновить/переопределить один селектор в CSS темы. Следующие селекторы данных должны включать используемый вами префикс:
.ui-mobile [data-mynamespace-role=page], .ui-mobile [data-mynamespace-role=dialog], .ui-page { ... -
pageLoadErrorMessagestring, default: "Ошибка загрузки страницы" - Установите текст, отображаемый при неудачной загрузке страницы через Ajax.
-
pageLoadErrorMessageThemestring, default: "e" - Установите тему для окна сообщения об ошибке.
- Заменить вызовы
window.history.backпомощником для навигации PhoneGap, где он доступен. Это решает проблемы навигации при обновлении страницы в приложениях Android PhoneGap, использующих jQuery Mobile. -
pushStateEnabledboolean, default: true - Улучшение, использующее
history.replaceStateв поддерживаемых браузерах, для преобразования Ajax-URL на основе хэша в полный путь к документу. Рекомендуется отключить эту функцию, если Ajax отключен или если широко используются внешние ссылки.
-
subPageUrlKeyстрока, по умолчанию: "ui-page" - Параметр URL, используемый для ссылки на подстраницы, сгенерированные виджетом (например, сгенерированные вложенными списками). Переводится в example.html&ui-page=идентификатор_подстраницы. Сегмент хеша перед &ui-page= используется фреймворком для отправки запроса Ajax на URL, где находится подстраница.Устаревший с версии 1.4 и будет удалён в версии 1.5.
-
transitionFallbacks.[transition]строка, по умолчанию: "fade" - Установите резервный переход для браузеров, которые не поддерживают 3D-трансформации для определённого типа перехода.
© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquerymobile.com/global-config