$ .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