为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

撒科打诨 2019-04-16 20:25:59
针对IOS上的safari目的是禁止默认的拖动事件但允许其中某div的滚动拖拽禁止拖动的默认事件document.body.ontouchmove=function(e){e.preventDefault();}下面链接的搜索按钮打开之后的列表需要拖动但要禁止全局拖动(带反弹效果的默认拖动效果)http://itorr.sinaapp.com/fm补充还有个奇怪的现象在触发了设置IOSsafari特有的滚动样式的div的拖动事件页面会自动禁止惯性拖动猜测可能可以利用这个特性
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

你只是把body中的touchmove事件prevent掉了。
捕获到你想要拖动的div的touchmove事件就行了。
javascriptdocument.querySelectorAll('div')[0].ontouchmove=function(e){
//dosomething
...
};
                            
查看完整回答
反对 回复 2019-04-16
?
弑天下

TA贡献1818条经验 获得超8个赞

问题解决T_T犯蠢了。。。
禁止body的触摸移动的默认动作之后
document.body.ontouchmove=function(e){
e.preventDefault();
}
在需要滚动拖拽的div上停止冒泡即可解决OAQ
div.ontouchmove=function(e){
e.stopPropagation();
//停止冒泡
};
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 411 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信