Jquery Mobile - 如何在pagebeforechange事件中获取data-url

时间:2012-02-23 16:00:35

标签: javascript jquery jquery-mobile

我想获取触发页面更改的页面的data-url。有什么想法吗?

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

3 个答案:

答案 0 :(得分:8)

您可以在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/

答案 1 :(得分:2)

attr方法在某些浏览器中不起作用,因此最好使用jqmData方法。 jqmData可以在任何命名空间中工作。

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

答案 2 :(得分:0)

为什么不能$(this).parent('div[data-role|="page"]').attr('data-url')