js实现浏览器右键菜单,屏蔽默认菜单

简介: 撤回消息 function bindMouseEvent(el){ var args = [].
<div id="mouse" style="width:500px;height:200px;background:#E8FFE8;border:2px solid #336699;">
</div>
<div id="menu" style="display:none; position: absolute; color:red; border-radius: 3px;background-color: #666;">
  <div style="padding:6px 6px 6px 6px;">
    <a href="http://www.baidu.com">撤回消息</a> 
  </div>
</div>


<script>
function bindMouseEvent(el){
    var args = [].slice.call(arguments),
    el = el || document;
    args[0] = function(){},
    args[1] = args[1] || args[0],
    args[2] = args[2] || args[0],
    args[3] = args[3] || args[0],
    el.onmousedown = function(e){
        e = e || window.event;
        var button = e.button;
        if ( !e.which && isFinite(button) ) {
            e.which  = [0,1,3,0,2,0,0,0][button]; 
        }
        args[e.which](e);
    }
}
var el = document.getElementById("mouse");
var ex = document.getElementById("explanation");
var menu = document.getElementById("menu");
var left = function(){
    menu.style.display = 'none';
}
var middle = function(){
    menu.style.display = 'none';
}
var right = function(ev){
    var ev= ev || event;
    var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;      
    menu.style.left = ev.clientX+scrollTop+'px';
    menu.style.top = ev.clientY+scrollTop+'px';
    menu.style.display = 'block';
}
bindMouseEvent(el,left,middle,right);
document.oncontextmenu=function(ev){
   return false;    //屏蔽右键菜单
}
</script>
目录
相关文章
|
2天前
|
JavaScript
浏览器插件crx文件--JS混淆与解密
浏览器插件crx文件--JS混淆与解密
21 0
|
2天前
|
JavaScript 前端开发 安全
JavaScript与浏览器的执行平台有何不同?
【4月更文挑战第22天】JavaScript与浏览器的执行平台有何不同?
24 2
|
2天前
|
存储 移动开发 JavaScript
JavaScript和浏览器
【4月更文挑战第22天】JavaScript和浏览器
22 4
|
1天前
|
Web App开发 JavaScript 前端开发
浏览器与Node.js事件循环:异同点及工作原理
浏览器与Node.js事件循环:异同点及工作原理
|
1天前
|
前端开发 JavaScript Java
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
|
2天前
|
JavaScript 前端开发
Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界
在Web自动化中,Playwright提供`page.evaluate()`和`page.evaluate_handle()`来执行JavaScript脚本。`page.evaluate()`返回脚本执行结果,而`page.evaluate_handle()`返回JSHandle。示例展示了如何使用它们,如打印网页标题、操作元素及获取页面内容。通过这些方法,可以处理常规方法难以操作的网页元素。
10 2
|
2天前
|
移动开发 JavaScript 前端开发
javascript监听浏览器离开、进入行为
javascript监听浏览器离开、进入行为
14 0
|
2天前
|
JavaScript 前端开发 开发者
JavaScript基础入门之浏览器控制台调试输出
本文章是对小白学习js的初级教程,也是我对自己学习经验的一种总结,文章大多采用使用案例加讲解,带动学习的方式.因为我们的天性总是喜欢有及时反馈的事物,但是学习是一个慢长的事情,而有结果的回应,才会更好的促进自己去学习,主要是对于javascript学习中的输出,有个大体上的了解,同时通过教学能够更好的使用浏览器来方便我们去学习和运行代码,也是对自己进行笔记整理,对抓住信息关键点的一种提高.
|
2天前
|
JavaScript 前端开发
JavaScript如何获得浏览器的宽高
JavaScript如何获得浏览器的宽高
|
2天前
|
JavaScript 前端开发
JavaScript BOM 浏览器对象模型
JavaScript BOM 浏览器对象模型