Jquery Mobile - Как получить URL-адрес данных в событии pagebeforechange - PullRequest
6 голосов
/ 23 февраля 2012

Я хотел бы получить URL-адрес страницы, которая вызвала изменение страницы.Есть идеи?

$(document).bind("pagebeforechange", function ( event , data) {
    // get the data-url of the link that triggered the page change
});

Ответы [ 3 ]

8 голосов
/ 23 февраля 2012

Вы можете получить страницу, с которой пользователь заходит в объекте data:

$(document).bind("pagebeforechange", function ( event , data ) {
    console.log(data.options.fromPage.attr('data-url'));
});​

Обратите внимание, что поскольку вы привязываетесь к элементу document, а не к одному элементу data-role="page", он будет срабатывать дважды при каждом изменении страницы, один раз для fromPage и один раз для toPage. Данные, передаваемые в обработчик событий для каждого события страницы, будут такими же, как данные для другой страницы.

Вот демоверсия: http://jsfiddle.net/Atfrf/2/

2 голосов
/ 24 февраля 2012

Метод attr не работает в некоторых браузерах, поэтому вам лучше использовать метод jqmData. JqmData может работать в любом пространстве имен.

$(document).bind("pagebeforechange", function ( event , data ) { console.log(data.toPage.jqmData('url')); });​

0 голосов
/ 23 февраля 2012

Почему ты не можешь сделать $(this).parent('div[data-role|="page"]').attr('data-url')

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