$ .mobile.activePage属性究竟是如何工作的?

时间:2011-12-09 02:51:42

标签: jquery jquery-mobile

我正在尝试以下内容,

$(document).bind ('pageshow', function (e, data) {
   console.log ($('#page_spots'));
   console.log ($.mobile.activePage);

   if ($.mobile.activePage == $('#page_spots')) { console.log ('Bingo!'); }
});

将属性#page_spots设为data-role的{​​{1}}设为page。在上面的示例中,当活动页面为#page_spots时,我想记录“宾果!”在控制台中。

我是jQM的全新手,我不知道这是否应该是正确的方式。

提前感谢您,并为我的英语道歉。

1 个答案:

答案 0 :(得分:26)

您可以从$.mobile.activePage获取活动页面的ID,并将其与字符串进行比较,而不是尝试与jQuery对象进行比较:

$(document).bind ('pageshow', function (e, data) {
   console.log ($('#page_spots'));
   console.log ($.mobile.activePage);

   if ($.mobile.activePage.attr('id') == 'page_spots') { console.log ('Bingo!'); }
});

以下是演示:http://jsfiddle.net/E6YuA/

$.mobile.activePage很高兴,因为它总是您可以快速参考的当前data-role="page"元素的缓存对象。

<强>更新

我刚刚再次阅读此内容而您无需使用.attr()来查找ID,您可以通过直接从DOMElement访问该属性来更快一些:$.mobile.activePage[0].id