JQuery мобильная постоянная навигационная панель (внешний раздел страницы)
У меня есть панель навигации за пределами div страницы в нижнем колонтитуле (она есть на каждой странице). Я попытался сделать простое исправление для постоянного активного состояния панели навигации. Это сработало для вкладок на одной из страниц, но, похоже, не работать для этого.
На самом деле все работает, за исключением того, почему ui-btn-active не добавляется
Вот код
$(document).one( "pageinit", function() {
$('div[data-role="footer"] [data-role="navbar"] a').click(function(e) {
$(this).html("abc");
$('div[data-role="footer"] [data-role="navbar"] .ui-btn-active').removeClass('ui-btn-active ui-state-persist');
$(this).addClass('ui-btn-active ui-state-persist');
});
});
HTML-код привязки изменяется, ui-state-persist добавляется в последнюю строку, но ui-btn-active просто не добавляется по какой-то причине...
1 ответ
Хорошо, кажется, что jquery mobile автоматически удаляет ui-btn-active при переходе на страницу, даже если ваша навигационная панель находится вне страницы div (что я нахожу неубедительным...) Кажется, это происходит на странице или после pagebeshow, потому что это не работать с этим событием... так что я просто использовал PageShow вместо этого.
Вот рабочий код:
var navbar;
$(document).on("pageshow", function() {
if(navbar) {
$(navbar).addClass('ui-btn-active')
}
});
$(document).one( "pageinit", function() {
$('div[data-role="footer"] [data-role="navbar"] a').click(function() {
navbar = $(this);
});
});