我们知道通过oncontextmenu事件可以屏蔽浏览器右键菜单

$('img').on("contextmenu",function(E){E.preventDefault();E.stopPropagation();E.returnValue=false; return false;})

可是这一招在移动设备的浏览器中却失灵了,移动设备的浏览器的contextmenu是通过长按事件触发的,我想正是因为这和原因造成的上述手段失灵。

经调试发现,屏蔽touchstart事件可以解决:

 $('img').on("touchstart",function(E){E.preventDefault();E.stopPropagation();});

  但是,按下葫芦浮起瓢,上述代码屏蔽了系统邮件菜单的同时也造成longTap事件也不触发了,这直接导致自己的context menu也出不来了!没办法只能自己想办法解决了!以下代码基于app framework 实现了屏蔽手机浏览器的contextmenu、拖拽控件移动、并在长按时能够显示自己的contextmenu(af中的actionsheet):

var tapTimer=null;$('img').on("touchstart",function(E){E.preventDefault();E.stopPropagation();var el=this;var me=$(this);$("#tip").text("in touchstart");var t=E.touches[0];tapTimer=setTimeout(function(){me.trigger('touchend').trigger('longTap');},1500);me.data("mx",t.pageX);me.data("my",t.pageY);me.data("ex",el.offsetLeft);me.data("ey",el.offsetTop);}).on('touchmove',function(E){E.preventDefault();E.stopPropagation();if(tapTimer!=null)clearTimeout(tapTimer);var t=E.touches[0];var mx=parseInt(me.data("mx")),my=parseInt(me.data("my"));var ex=parseInt(me.data("ex")),ey=parseInt(me.data("ey"));var nx=ex+t.pageX - mx , ny=ey+t.pageY-my$("#tip").text("in touch move : "+"or mx,my, new mx,my or ex,ey="+mx+","+my+","+t.pageX+","+t.pageY+","+ex+","+ey+" dest x,y="+nx+","+ny);me.css({"left":nx+"px","top":ny+"px"}) ;}).on('touchend',function(E){if(tapTimer!=null)clearTimeout(tapTimer);//E.preventDefault();E.stopPropagation();          });$('img').on("contextmenu",function(E){E.preventDefault();E.stopPropagation();E.returnValue=false; return false;}).on('longTap',function(E){E.stopPropagation();E.preventDefault()$.ui.actionsheet([{text: 'back',cssClasses: 'red',handler: function () {alert("Clicked Back")}}, {text: 'Alert Hi',cssClasses: 'blue',handler: function () {alert("Hi");}}, {text: 'Alert Goodbye',cssClasses: '',handler: function () {alert("Goodbye");}}]);});

手机浏览器中屏蔽img的系统右键菜单context menu相关推荐

  1. wxpython 树菜单单击_请教怎么在wxpython调用windows系统的右键菜单(context menu)?

    我在学习使用wxpython制作一款windows下的文件管理器,树形菜单已经实现,现在想实现在文件树节点上单击右键,弹出Explorer的上下文菜单,查阅资料无数..... wxpython没有内置 ...

  2. vivo计算机背景,怎么修改VIVO手机浏览器中的主题与背景颜色

    怎么修改VIVO手机浏览器中的主题与背景颜色 腾讯视频/爱奇艺/优酷/外卖 充值4折起 随着科技的发展,手机已经成为人们日常生活中必不可少的工具,当我们在使用vivo手机内的浏览器浏览网页时,如果想要 ...

  3. 右击计算机管理出现乱码,win10系统右键菜单出现乱码的处理方案

    win10系统使用久了,好多网友反馈说win10系统右键菜单出现乱码的问题,非常不方便.有什么办法可以永久解决win10系统右键菜单出现乱码的问题,面对win10系统右键菜单出现乱码的图文步骤非常简单 ...

  4. win10怎么用记事本打开html文件,给win10系统右键菜单添加“用记事本打开”的方法...

    有时候我们要打开一些文件的时候,总是会选择用记事本打开,但是不少用户升级到win10系统之后,发现右键菜单中并没有"用记事本打开"的选项,那要怎么在iwn10系统右键菜单中添加&q ...

  5. win10记事本编写html没反应,Win10系统右键菜单没有记事本选项的解决方法

    记事本是所有Windows系统上都会有的功能,可以用来编辑文档.有些用户在安装好Win10系统的时候,想创建一个记事本文档的时候,发现右键菜单上没有这个记事本选项,这该如何来解决呢?这个问题可能是系统 ...

  6. 360压缩没有系统右键菜单或提示右键损坏

    360压缩软件在安装后或者使用一段时间后,在文件或者文件夹上点击鼠标右键,弹出的系统右键菜单中可能出现没有(360压缩]的相关选项菜单.此问题一般有2个原因: 第一个是:[360压缩]软件对应的右键菜 ...

  7. win11系统右键菜单修改win10风格 Win11右键菜单修改成win10教程

    win11系统右键菜单修改win10风格 Win11右键菜单修改成win10教程 win11系统之后不是特别喜欢右键菜单,很不舒服.如何修改回原来win10的右键菜单,其实方法很简单,下面来看教程. ...

  8. VB小技巧 文本框中屏蔽系统右键菜单用自定义菜单代替自带右键菜单

    'txtList是textbox控件,pop2是自定菜单名 Private Sub txtList_MouseDown(Button As Integer, Shift As Integer, X A ...

  9. 如何在手机浏览器中控制扫描仪做文档扫描

    办公室里扫描仪必不可少.现在智能化办公,有时候我们会希望文档扫描之后直接传输到手机里.如果用的是带WiFi的智能扫描仪,那么可以通过安装app来获取电子文档.如果用的是普通扫描仪,那么只能先通过PC获 ...

最新文章

  1. IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
  2. 基于psr规范php框架,PHP-PSR规范
  3. mysql的wait_timeout配置
  4. java文字转语音支持ubuntu系统_微信内测语音进度条,60秒语音终于有救了?腾讯:并没有...
  5. 说说说vue.js中的组
  6. leetcodeT14-最长公共前缀(两种解法+图解)
  7. WPF实现Win10汉堡菜单
  8. 大数据之-Hadoop伪分布式_NameNode格式化注意事项---大数据之hadoop工作笔记0025
  9. 2015款java 650b duina_厚积薄发 JAVA 2015年新品发布会
  10. DM8168 unrecoverable error: OMX_ErrorBadParameter (0x80001005) [resolved]
  11. @class与#import
  12. 正确重启计算机的方法,电脑不定时自动重启的处理方法
  13. 搭建RTSP流媒体服务器的三种方式
  14. 百度手机输入法 android ctrl,百度手机输入法旧版本
  15. 设计模式之单例模式:饿汉模式(懒汉模式)及优缺点分析
  16. CUDA学习(四)-整体结构
  17. SWUST OJ 480: Locker doors
  18. 量化策略:驾驭交易之轴心点研究(一)
  19. 萝卜干煎蛋,榨菜,白粥,很美丽
  20. Filezilla+花生壳内网穿透实现外网可以访问 避坑指南

热门文章

  1. Centos6.8 搭建Lvs+Keepalived
  2. hdu 2089 不要62【数位dp】
  3. 我最喜欢的模板jade(pug)学习和使用
  4. Android监听返回键、Home键+再按一次返回键退出应用
  5. phantomjs 安装使用
  6. 永中Office—给公文设置密码
  7. poj 3461 Oulipo (KMP)
  8. LeetCode-39. 组合总和 I
  9. python 碎片图像拼接_python实现图像拼接
  10. Go语言中的io.Reader和io.Writer以及它们的实现