javascript - 在 pageinit 上使用 jQuery Mobile 触发点击

标签 javascript jquery css jquery-mobile eventtrigger

我试图触发对特定 <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/

相关文章:

javascript - 检测宽度 : auto in jQuery

html - 使用线性渐变 css 制作三 Angular 形叠加层

html - 我想同时使用绝对位置和粘性位置。那可能吗?如果是,那么如何?

javascript - 为什么在计算以下表达式时,big-integer 给出的结果是 `0`?

javascript - 使用正则表达式(或其他东西)的 jQuery 选择器

javascript - 如果用户向下滚动(水平滚动),则向左滚动

javascript - 具有一个数据绑定(bind)的 Angular 应用程序运行缓慢

javascript - 获取上一个和当前的窗口宽度

javascript - 以特定形式引用输入

jquery - Flexslider 图像在 Firefox 中非常轻微的错误移动