防止用户在jQuery Mobile中ajax加载页面时单击其他位置

Prevent user from clicking somewhere else while ajax loading a page in jQuery Mobile

本文关键字:单击 位置 其他 加载 ajax 用户 jQuery Mobile      更新时间:2023-09-26

我正在使用jQuery Mobile为PC和平板电脑创建一个web应用程序。

我使用的是jQueryMobile的Ajax导航功能。

所以,若用户点击一个链接,就会显示加载微调器。但当JQM试图加载该页面时,用户可能会点击另一个链接。在这种情况下,在完全加载第一页之后,JQM加载第二页,然后转到第二页。

现在,我想在ajax导航工作时禁用所有功能一切都意味着,不应该点击其他链接,不应该调用其他javascript click函数,不可能滚动,并且。。。

此外,每个ajax导航都应该有一个超时。

如何做到这一点?

jQM有一些不同的事件,当一个新页面完成加载到DOM时会触发这些事件。为什么不在点击链接后暂时停用所有链接,直到转换完成?

$('body').on('click', 'a', function() {
    $('body').on('click', 'a', function() {
        return false;
    }); 
    $(document).bind('pagechange', function() { 
        $('body').off('click', 'a'); 
    }); 
});

我使用了上面的pagechange事件,但还有一些其他事件可能更适合您的目的。http://jquerymobile.com/demos/1.1.1/docs/api/events.html