首页 > 在禁止了页面的触摸拖动事件之后如何允许某div可以拖动

在禁止了页面的触摸拖动事件之后如何允许某div可以拖动

针对 IOS 上的 safari
目的是禁止默认的拖动事件
但允许其中某div的滚动拖拽

禁止拖动的默认事件

document.body.ontouchmove=function(e){
    e.preventDefault();
}

下面链接的搜索按钮打开之后的列表需要拖动
但要禁止全局拖动(带反弹效果的默认拖动效果)
http://itorr.sinaapp.com/fm


补充
还有个奇怪的现象 在触发了设置IOS safari特有的滚动样式的div的拖动事件 页面会自动禁止惯性拖动 猜测可能可以利用这个特性


你只是把 body 中的 touchmove 事件 prevent 掉了。
捕获到你想要拖动的 div 的 touchmove 事件就行了。

javascriptdocument.querySelectorAll('div')[0].ontouchmove = function(e) {
  // do something    
  ...
};

问题解决T_T 犯蠢了。。。

禁止body的触摸移动的默认动作之后

document.body.ontouchmove=function(e){
    e.preventDefault();
}

在需要滚动拖拽的div上停止冒泡即可解决OAQ

div.ontouchmove=function(e){
    e.stopPropagation();
    //停止冒泡
};
【热门文章】
【热门文章】