Javascript 移除元件上的触摸事件
我有一个DIV覆盖在DIV页面上,但是在page DIV上有一个overscroll:auto在元素上 当覆盖层可见时,如何禁用页面上的所有触摸事件,然后在覆盖层隐藏后启用返回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 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。然后,在显示覆盖时,只需给出“指针事件:无”选项。在触摸设备上不起作用,这是我试图实现的。然后,你应该使用稍微复杂一点的方法。我将编辑此答案,以便每个人都能看到它。