Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用屏幕上的任何单击,并在一段时间或事件后启用它_Javascript_Jquery_Jquery Mobile_Cordova - Fatal编程技术网

Javascript 禁用屏幕上的任何单击,并在一段时间或事件后启用它

Javascript 禁用屏幕上的任何单击,并在一段时间或事件后启用它,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,我正在我的应用程序中使用PhoneGap和jQuery Mobile。我的问题是,当我通过单击从A页导航到B页时,一切都正常,但当我单击双击A页时 然后转到下一个屏幕页面B,此时用户无法看到该页面。。。第二次单击被传递到页面B,页面B尝试执行在页面A中按下的操作 如何禁用页面B上的任何单击并仅在事件或页面加载100%后激活它?不是jQuery Mobile特有的,但是您可以抛出一个单击预防DIV来拦截您不希望处理的任何事件 使用以下样式创建DIV: position: absolute; top

我正在我的应用程序中使用PhoneGap和jQuery Mobile。我的问题是,当我通过单击从A页导航到B页时,一切都正常,但当我单击双击A页时 然后转到下一个屏幕页面B,此时用户无法看到该页面。。。第二次单击被传递到页面B,页面B尝试执行在页面A中按下的操作


如何禁用页面B上的任何单击并仅在事件或页面加载100%后激活它?

不是jQuery Mobile特有的,但是您可以抛出一个单击预防DIV来拦截您不希望处理的任何事件

使用以下样式创建DIV:

position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
width: 100%; height: 100%;
background-color: transparent;
z-index: 999999;
transform: translateZ(999999px);
display: none;
然后,当您需要阻止与应用程序的任何交互时,将该div的样式从display:none更改为display:block。瞧,即时点击预防

当然,不要忘记将其从DOM中删除或切换回display:none-否则您的用户将无法再与应用程序交互


或者,如果您可以在处理事件时阻止浏览器的默认设置,那么效果也相当不错。不确定jQueryMobile是如何做到这一点的,但在类似Hammer.js Hammerelement、{prevent_default:true}.ontap、event_handler之类的东西上很容易做到;如果可能的话,我会这样做,因为这样可以避免接触可能触发回流的DOM。但是,如果您无法以任何其他方式使其工作,那么第一种方法应该可以工作,即使有点难看。

可以与我们共享您的HTML吗?