我试图触发对特定 <li>
的点击在我的 jQuery Mobile 页面上 pageinit
事件。
我可以成功触发点击,但是在线上出现错误:
var currentPage = $.mobile.activePage;
Error: TypeError: currentPage is undefined
我想要实现的是,如果 reminder
的参数在 URL 中传递然后我想触发对 <li>
的点击.我不确定我是否使用了错误的 jQM 事件 (pageinit),但由于某种原因似乎没有“事件页面”。
$(document).on('pageinit', function (event, ui) {
var page = $(event.target);
page.find("li.static_nav").on('click', function () {
var currentPage = $.mobile.activePage;
var subheader = currentPage.find("#static_page_sub_header");
var target = $(this).attr("data-target");
$(this).siblings().removeClass('active');
$(this).addClass('active').find('a').clone(true, true).appendTo(subheader.empty());
currentPage.find(".static_panel").hide();
return false;
});
if (page.find('#p_content').length !== 0) {
var url = $.mobile.path.parseUrl(document.location.href);
var query_string = url.search;
if (/reminder/i.test(query_string)) {
$('li.static_nav:eq(1)', $.mobile.activePage).trigger('click');
}
}
});
最佳答案
将以下代码移出 pageinit 事件并移入 pageshow 事件:
$(document).on('pageshow', function (event, ui) {
var page = $(event.target);
if (page.find('#p_content').length !== 0) {
var url = $.mobile.path.parseUrl(document.location.href);
var query_string = url.search;
if (/reminder/i.test(query_string)) {
$('li.static_nav:eq(1)', $.mobile.activePage).trigger('click');
}
}
});
关于javascript - 在 pageinit 上使用 jQuery Mobile 触发点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210015/