jquery-mobile - как связать отключение ajax-ссылок для определенного класса - PullRequest
4 голосов
/ 23 декабря 2010

Я работаю над многоколоночной версткой в ​​Jquery Mobile.

Когда пользователь открывает страницу с несколькими столбцами, я хочу отключить навигацию ajaxlinks JQM (и переключиться на «искусственную навигацию и историю». Поэтому в основном я пытаюсь привязать ссылку или элемент списка с помощью классаname = "ui-hash-заблокирован". Когда пользователь покидает страницу, я снова включаю ajaxlinks.

Мне нравится идея, но я не могу заставить этот код работать (Ошибка: $ .mobile '[undefined])

$('.ui-hash-block').click(function ()
             {
             $.mobile.ajaxLinksEnabled = false;               
             });

Что-то не так с синтаксисом?

Я знаю ошибку при вызове $ .mobile перед запуском JQM, но так как я вызываю эту функцию только когданажата ссылка / элемент списка, JQM должен быть уже инициирован.

Спасибо за помощь и с Рождеством!

Частые

PS: если вам нужно больше кода, я могуприведи пример.

Ответы [ 3 ]

18 голосов
/ 23 августа 2011

Добавьте data-ajax="false" к ссылке, если вы хотите использовать это поведение только для определенных ссылок

2 голосов
/ 27 апреля 2011
$(document).bind("mobileinit", function(){
  //Disable ajax link
  $('.disable-ajax').click(function(event){
    $.mobile.ajaxFormsEnabled = false;
  });
});
0 голосов
/ 03 января 2011

Этот $ .mobile. * - это набор параметров конфигурации, которые используются довольно рано. Вот почему они показывают здесь , когда его инициализировать. Этот параметр является глобальным.

То, что ты пытаешься сделать - это хакерство. Но я верю, что вы можете изменить настройку в нужный момент, который должен быть одним из следующих:

  1. непосредственно перед щелчком - попробуйте событие mousedown вместо клика в вашем примере

  2. до того, как элемент будет обработан JQM:

    $. Mobile.ajaxLinksEnabled = false;
    $ ( 'TheNEWelement') appendTo ( 'где-то') страница ();..
    $ .mobile.ajaxLinksEnabled = false;

Прокомментируйте результаты, и я буду редактировать, чтобы отметить, какой из них работал. Я не могу проверить это в данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...