Как форсировать вызов ajax с помощью мобильного телефона jquery? - PullRequest
0 голосов
/ 23 марта 2012

Я использую jquery mobile. Я хотел бы перейти с одной страницы на другую и вызвать AJAX-вызов. Прямо сейчас, если я перейду в первый раз, он сохранит страницы в DOM. Затем в следующий раз, когда вы перейдете на эту подстраницу, она использует то, что находится в DOM, вместо того, чтобы заново ее адаптировать. Если я добавлю следующее в ссылки на другие страницы, то оно будет работать на рабочем столе, но не будет работать на мобильном устройстве, поскольку на мобильном устройстве нет «щелчка».

<a href="page2.php" data-ajax="true" onclick="$(document.getElementById($(this).attr('href'))).remove();" >link</a>

Я попытался поместить эту функциональность в заголовок документа в функции jquery, как это, с идеей изменить «щелчок» на «касание», как описано в документации.

$('a').live('click', function() {
  var $this = $(this);
  if ( !$this.attr('rel') || $this.attr('rel') != 'external' )
  $(document.getElementById( $this.attr('href') )).remove();
});

Но это приведет к удалению страницы после перехода на нее.

Что мне нужно сделать, это удалить страницу, а затем загрузить ее снова. Я нашел в документации, что событие pagebeforechange , но я не нашел, как или если это будет работать.

Каков наилучший способ перехода с одной страницы на другую и принудительной загрузки страницы с помощью ajax, даже если страница была ранее просмотрена?

1 Ответ

0 голосов
/ 23 марта 2012

Как это:

кнопка:

<a id="button">link</a>

JQuery

$(document).on('vclick', '#button', function(){
    $.mobile.changePage( "page2.php", { reloadPage: true } );
});

Обновление: изменен на лучший ответ.Обновление: добавлено больше для ясности.

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