js 弹出框 里面元素touchmove时候阻止其他元素滚动,背景遮罩层还无法阻止冒泡,怎么禁用遮罩层touchmove
答案:5 悬赏:60 手机版
解决时间 2021-11-11 08:14
- 提问者网友:我一贱你就笑
- 2021-11-10 21:46
js 弹出框 里面元素touchmove时候阻止其他元素滚动,背景遮罩层还无法阻止冒泡,怎么禁用遮罩层touchmove
最佳答案
- 五星知识达人网友:风格不统一
- 2021-11-10 22:43
1、在遮罩层停止添加touchmove
2、如果弹窗不在遮罩层内部,那么冒泡就不会经过遮罩层,也就无法屏蔽滑动了
3、如果实在不能把弹窗放到遮罩层内,那么给弹窗加一个单独的 .prevent 修饰符也可以,下面这两种方式都是有效的:
4、这种屏蔽方式只是屏蔽了滑动,对于PC端的鼠标滚轮是无效的,但屏蔽鼠标滚轮也很简单,把 touchmove 事件处理器改成 scroll 事件的处理器就好。
2、如果弹窗不在遮罩层内部,那么冒泡就不会经过遮罩层,也就无法屏蔽滑动了
3、如果实在不能把弹窗放到遮罩层内,那么给弹窗加一个单独的 .prevent 修饰符也可以,下面这两种方式都是有效的:
4、这种屏蔽方式只是屏蔽了滑动,对于PC端的鼠标滚轮是无效的,但屏蔽鼠标滚轮也很简单,把 touchmove 事件处理器改成 scroll 事件的处理器就好。
全部回答
- 1楼网友:零点过十分
- 2021-11-11 02:22
h't'r'r'd'f'g
- 2楼网友:北城痞子
- 2021-11-11 02:14
禁用touchstart先?
- 3楼网友:刀戟声无边
- 2021-11-11 01:18
我是这么处理的,弹出后将背景层元素设置position:fixed,关闭后再将背景层元素position设置为initial。
- 4楼网友:舍身薄凉客
- 2021-11-10 23:50
$("#mask").on('touchmove',function(event) { event.preventDefault(); }, false);
$("#mask").unbind('touchmove');
$("#mask").unbind('touchmove');
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯