1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > javascript实现在某个元素上阻止鼠标右键事件办法和实例【javascript】

javascript实现在某个元素上阻止鼠标右键事件办法和实例【javascript】

时间:2021-11-13 23:48:30

相关推荐

javascript实现在某个元素上阻止鼠标右键事件办法和实例【javascript】

web前端|js教程

javascript,在元素上阻止鼠标右键事件

web前端-js教程

最近在做一个小东西的时候需要在某一个元素上“右击”触发一个自定义菜单,通过自定义的菜单对右击的条目进行编辑。这就要求屏蔽默认的右键菜单

博客 开源 源码,vscode控制终端运行,卸载ubuntu win,tomcat标准缩写,sqlite时分秒函数,图表插件排行,前端开发框架结构图解,写爬虫是什么意思,php截取中文字符,seo网络推广好处,大酒店网站源代码,jquery 测试一个网页要多少流量,帝国cms自适应模板lzw

IE和FF下面的元素都有oncontextmenu这个方法,在FF下面只要通过event.preventDefault()方法就可以轻松实现这个效果。IE并不支持这个方法,在IE下面一般是通过触发方法后return false来实现阻止默认事件的。

客客3.0源码 破解版,vscode调整教程,ubuntu 8156b,tomcat网下载,php开源支持sqlite,dz论坛快捷回复插件,前端exe框架封装e,爬虫网找人,ubuntu安装 php,列表页 seo,茶叶网站源码asp,开源网页评论插件,帝国cms模板仿千图,php简单登陆页面代码下载,java进销存管理系统源代码,程序 代理lzw

通常我们使用阻止右键事件是在全局阻止,即在document层面就将右键拦截,现在我想要实现的效果是只在特定的区域阻止默认的右键事件,而其他区域并不影响。

asp 手机企业网站源码,ubuntu查看控件大小,爬虫怎么增加营养,dwsurvey php,seo薪酬架构lzw

通过实验我发现要是在IE下绑定的方法中return false后在document层面上可以实现阻止右键的默认行为。但是具体到某一个元素比如div,则失效。

最后通过查找手册发现,IE下的event对象有一个returnValue属性,如果将这个属性设置为false则不会触发默认的右键事件。类似如下:

event.returnValue = false;

只要加入这句就实现了我想要的效果。完整Demo代码:

在某个元素上阻止鼠标右键默认事件DEMObody{font-size:12px; line-height:24px; font-family:Arial, Helvetica, sans-serif;}#activeArea{width:300px;height:200px; background:#06C; color:#fff;}#cstCM{ width:120px; background:#eee; border:1px solid #ccc; position:absolute; }#cstCM ul{margin:0; padding:0;}#cstCM ul li{ list-style:none;padding:0 10px; cursor:default;}#cstCM ul li:hover{ background:#009; color:#fff;}.splitTop{ border-bottom:1px solid #ccc;}.splitBottom{border-top:1px solid #fff;}function customContextMenu(event){event.preventDefault ? event.preventDefault():(event.returnValue = false);var cstCM = document.getElementById(cstCM);cstCM.style.left = event.clientX + px;cstCM.style.top = event.clientY + px;cstCM.style.display = lock;document.onmousedown = clearCustomCM;}function clearCustomCM(){document.getElementById(cstCM).style.display = one;document.onmousedown = null;}

ViewSort ByRefreshPastePaste ShortcutProperty

Custom Context Menu Area

这个效果兼容IE6+,FF,但是opera压根就没有oncontextmenu这个方法所以也就不能简单的通过这个方法实现,要想实现还需要通过其他的手段。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。