我正在尝试以下内容,
$(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的全新手,我不知道这是否应该是正确的方式。
提前感谢您,并为我的英语道歉。
答案 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