手机浏览器中屏蔽img的系统右键菜单context menu
我们知道通过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相关推荐
- wxpython 树菜单单击_请教怎么在wxpython调用windows系统的右键菜单(context menu)?
我在学习使用wxpython制作一款windows下的文件管理器,树形菜单已经实现,现在想实现在文件树节点上单击右键,弹出Explorer的上下文菜单,查阅资料无数..... wxpython没有内置 ...
- vivo计算机背景,怎么修改VIVO手机浏览器中的主题与背景颜色
怎么修改VIVO手机浏览器中的主题与背景颜色 腾讯视频/爱奇艺/优酷/外卖 充值4折起 随着科技的发展,手机已经成为人们日常生活中必不可少的工具,当我们在使用vivo手机内的浏览器浏览网页时,如果想要 ...
- 右击计算机管理出现乱码,win10系统右键菜单出现乱码的处理方案
win10系统使用久了,好多网友反馈说win10系统右键菜单出现乱码的问题,非常不方便.有什么办法可以永久解决win10系统右键菜单出现乱码的问题,面对win10系统右键菜单出现乱码的图文步骤非常简单 ...
- win10怎么用记事本打开html文件,给win10系统右键菜单添加“用记事本打开”的方法...
有时候我们要打开一些文件的时候,总是会选择用记事本打开,但是不少用户升级到win10系统之后,发现右键菜单中并没有"用记事本打开"的选项,那要怎么在iwn10系统右键菜单中添加&q ...
- win10记事本编写html没反应,Win10系统右键菜单没有记事本选项的解决方法
记事本是所有Windows系统上都会有的功能,可以用来编辑文档.有些用户在安装好Win10系统的时候,想创建一个记事本文档的时候,发现右键菜单上没有这个记事本选项,这该如何来解决呢?这个问题可能是系统 ...
- 360压缩没有系统右键菜单或提示右键损坏
360压缩软件在安装后或者使用一段时间后,在文件或者文件夹上点击鼠标右键,弹出的系统右键菜单中可能出现没有(360压缩]的相关选项菜单.此问题一般有2个原因: 第一个是:[360压缩]软件对应的右键菜 ...
- win11系统右键菜单修改win10风格 Win11右键菜单修改成win10教程
win11系统右键菜单修改win10风格 Win11右键菜单修改成win10教程 win11系统之后不是特别喜欢右键菜单,很不舒服.如何修改回原来win10的右键菜单,其实方法很简单,下面来看教程. ...
- VB小技巧 文本框中屏蔽系统右键菜单用自定义菜单代替自带右键菜单
'txtList是textbox控件,pop2是自定菜单名 Private Sub txtList_MouseDown(Button As Integer, Shift As Integer, X A ...
- 如何在手机浏览器中控制扫描仪做文档扫描
办公室里扫描仪必不可少.现在智能化办公,有时候我们会希望文档扫描之后直接传输到手机里.如果用的是带WiFi的智能扫描仪,那么可以通过安装app来获取电子文档.如果用的是普通扫描仪,那么只能先通过PC获 ...
最新文章
- IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
- 基于psr规范php框架,PHP-PSR规范
- mysql的wait_timeout配置
- java文字转语音支持ubuntu系统_微信内测语音进度条,60秒语音终于有救了?腾讯:并没有...
- 说说说vue.js中的组
- leetcodeT14-最长公共前缀(两种解法+图解)
- WPF实现Win10汉堡菜单
- 大数据之-Hadoop伪分布式_NameNode格式化注意事项---大数据之hadoop工作笔记0025
- 2015款java 650b duina_厚积薄发 JAVA 2015年新品发布会
- DM8168 unrecoverable error: OMX_ErrorBadParameter (0x80001005) [resolved]
- @class与#import
- 正确重启计算机的方法,电脑不定时自动重启的处理方法
- 搭建RTSP流媒体服务器的三种方式
- 百度手机输入法 android ctrl,百度手机输入法旧版本
- 设计模式之单例模式:饿汉模式(懒汉模式)及优缺点分析
- CUDA学习(四)-整体结构
- SWUST OJ 480: Locker doors
- 量化策略:驾驭交易之轴心点研究(一)
- 萝卜干煎蛋,榨菜,白粥,很美丽
- Filezilla+花生壳内网穿透实现外网可以访问 避坑指南