我正在尝试以下方法,
$(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
的div作为page
。在上面的示例中,当事件页面是#page_spots
时,我要登录“Bingo!”。在控制台中。我是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