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

我正在尝试如下的事情,

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

#page_spots div,其属性data-role设置为page 。 在上面的例子中,当活动页面是#page_spots我想记录’宾果!’ 在控制台中。

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

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

您可以从$.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