Ссылки на моем сайте не работают, и я получил решение использовать data-ajax="false"
на моих якорях, не получив истинного объяснения. Кто-нибудь может мне помочь?
Что действительно делает data-ajax = "false"?
Ответ 1
data-ajax
- это функция jQuery Mobile. По умолчанию JQM будет пытаться загружать страницы через ajax для улучшения пользовательского опыта и переходов. Если вы установите data-ajax='false'
, тогда JQM будет выполнять обычный запрос страницы вместо использования ajax. Это можно использовать как для форм, так и для ссылок.
Из docs:
Это сообщает фреймворку выполнить полную перезагрузку страницы, чтобы очистить хэш Ajax в URL
Если вы хотите отключить ajax для всех своих ссылок, вместо добавления data-ajax
ко всему, вы можете сделать это следующим образом:
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});
Ответ 2
Ничего.
data-*
- это общий набор атрибутов, в котором вы можете хранить данные для доступа к JavaScript.
Если у вас есть JavaScript, который с ними связан, они не имеют смысла.
jQuery не имеет ничего встроенного, что делает с ними что-либо.
Ответ 3
если вы установите атрибут элемента в имя-имя, вы можете с помощью jQuery извлечь его с помощью $('element').data('name')
вместо $('element').attr('data-name');
, но атрибуты data-*
все еще могут использоваться для делегирования делегирования, например $(document).on('click', '[data-name]', function(){});