我正在尝试以下方法,

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

09-18 13:58