Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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_Webkit_Mobile Safari_Touch Event - Fatal编程技术网

Javascript 移除元件上的触摸事件

Javascript 移除元件上的触摸事件,javascript,jquery,webkit,mobile-safari,touch-event,Javascript,Jquery,Webkit,Mobile Safari,Touch Event,我有一个DIV覆盖在DIV页面上,但是在page DIV上有一个overscroll:auto在元素上 当覆盖层可见时,如何禁用页面上的所有触摸事件,然后在覆盖层隐藏后启用返回 <div id="page">touchable content here</div> <div id="overlay">sits on top of #page DIV</div> 此处可触摸内容 位于#page DIV的顶部 这仅适用于移动webkit。CSS解决

我有一个DIV覆盖在DIV页面上,但是在page DIV上有一个overscroll:auto在元素上

当覆盖层可见时,如何禁用页面上的所有触摸事件,然后在覆盖层隐藏后启用返回

<div id="page">touchable content here</div>
<div id="overlay">sits on top of #page DIV</div>
此处可触摸内容
位于#page DIV的顶部

这仅适用于移动webkit。

CSS解决方案
div#页面{指针事件:无;}


jQuery解决方案

你的触摸事件-

$('#page').click(function () {
    if($(this).hasClass('blockEvent')) return false;
    //do something...
});
当#overlay弹出时-

// display #overlay
$('#page').addClass('blockEvent');
当#覆盖层关闭时-

// close #overlay
$('#page').removeClass('blockEvent');

我不认为这是正确的,我说的是禁用触摸事件,而不是CSS。然后,在显示覆盖时,只需给出“指针事件:无”选项。在触摸设备上不起作用,这是我试图实现的。然后,你应该使用稍微复杂一点的方法。我将编辑此答案,以便每个人都能看到它。