Javascript 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
我正在使用jQuery Mobile为PC和平板电脑创建一个web应用程序 我正在使用jquerymobile的Ajax导航特性 所以,如果用户单击一个链接,加载微调器就会显示。但当JQM试图加载该页面时,用户可以单击另一个链接。在这种情况下,在完全加载第一个页面之后,JQM加载第二个页面,然后转到第二个页面 现在,我想在ajax导航工作时禁用所有功能。所有功能都意味着,不应单击其他链接,不应调用其他javascriptJavascript 防止用户在jQuery Mobile中ajax加载页面时单击其他位置,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我正在使用jQuery Mobile为PC和平板电脑创建一个web应用程序 我正在使用jquerymobile的Ajax导航特性 所以,如果用户单击一个链接,加载微调器就会显示。但当JQM试图加载该页面时,用户可以单击另一个链接。在这种情况下,在完全加载第一个页面之后,JQM加载第二个页面,然后转到第二个页面 现在,我想在ajax导航工作时禁用所有功能。所有功能都意味着,不应单击其他链接,不应调用其他javascriptclick函数,不能滚动,以及 此外,每个ajax导航都应该有一个超时 如何
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
事件,但是还有一些其他事件可能更适合您的目的 jQM有几个不同的事件,当一个新页面完成加载到DOM中时会触发这些事件。单击链接后,为什么不暂时停用所有链接,直到转换完成
$('body').on('click', 'a', function() {
$('body').on('click', 'a', function() {
return false;
});
$(document).bind('pagechange', function() {
$('body').off('click', 'a');
});
});
我使用了上面的
pagechange
事件,但是还有一些其他事件可能更适合您的目的 也许我应该在屏幕上加一个透明的覆盖层,但是怎么做呢?在哪里?你说的没错。这是一个漂亮的插件,可以做到这一点@VDP但是如何用这个插件替换jQuery移动默认加载微调器?我们能检测加载微调器何时显示和隐藏吗?如果是这样,我们可以简单地在页面上放置一个div
和position:absolute
,您可以防止加载消息()。只需阻止消息并侦听“pagebeforeload”即可在页面上设置div。(也许你必须倾听div上的点击事件并防止冒泡)也许我应该在屏幕上放置一个透明的覆盖层,但是如何?在哪里?你说的没错。这是一个漂亮的插件,可以做到这一点@VDP但是如何用这个插件替换jQuery移动默认加载微调器?我们能检测加载微调器何时显示和隐藏吗?如果是这样,我们可以简单地在页面上放置一个div
和position:absolute
,您可以防止加载消息()。只需阻止消息并侦听“pagebeforeload”即可在页面上设置div。(也许你必须监听div上的click事件并防止冒泡)首先,有些按钮不使用
标记,它们由javascriptclick
事件处理。接下来,这可能太慢了,尤其是在平板电脑上。。。(例如,Mobile Safari的Javascript引擎太慢)首先,有些按钮没有使用
标记,它们是通过Javascript点击事件处理的。接下来,这可能太慢了,尤其是在平板电脑上。。。(例如,Mobile Safari的Javascript引擎太慢)