关于阻止事件默认行为和延时的问题

yasire 2015-11-16 05:38:07

$(document.body).on("touchstart",function(e){
e.preventDefault();
})

这个是可以生效的。


$(document.body).on("touchstart",function(e){
setTimeout(function()
{
e.preventDefault();
},1000);
})

1秒钟之后再执行就无效了,为什么?
我是想屏蔽android手机uc浏览器的长按菜单。

...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yasire 2015-11-17
  • 打赏
  • 举报
回复
引用 4 楼 jslang 的回复:
head里面增加<meta name="browsermode" content="application"/>试试
这个是uc的特有的,的确可以禁掉,但是页面会默认全屏,浏览器菜单也会精简很多。 而且,qq浏览器不适用。
llfylwg 2015-11-16
  • 打赏
  • 举报
回复
用return false 换掉 e.preventDefault 试试
天际的海浪 2015-11-16
  • 打赏
  • 举报
回复
head里面增加<meta name="browsermode" content="application"/>试试
yasire 2015-11-16
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
直接阻止contextmenu事件就可以了
亲测,不行的。PC和ios的浏览器都OK。android下的uc和qq都是杯具的。 我说的是长按菜单,不是右键。
天际的海浪 2015-11-16
  • 打赏
  • 举报
回复
直接阻止contextmenu事件就可以了
yasire 2015-11-16
  • 打赏
  • 举报
回复
感觉这个问题很2 b,但是我真的不知道为什么

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧