重写JS的鼠标右键点击菜单


该效果主要有三点,一是对重写的下拉菜单的隐藏和显示;二是屏蔽默认的鼠标右键事件;三是鼠标左键点击页面下拉菜单隐藏。

不多说,上html代码:

1 <ul id="wrapper">
2     <li><a>一级</a></li>
3     <li><a>二级</a></li>
4     <li><a>三级</a></li>
5 </ul>

JavaScript代码如下:

 1 window.onload = function(){
 2   var wrap = document.getElementById('wrapper');  
 3   wrap.style.display = 'none';  
 4   var li = document.getElementsByTagName('li');
 5 
 6   for(var i=0;i<li.length;i++){
 7     li.onmouseover = function(){
 8     this.classname = "active";
 9   }
10   li.onmouseout = function(){
11     this.classname = "";
12   }  
13  }   
14  
15  document.oncontextmenu = function(e){
16    var e = event || window.event;
17    wrap.style.display = "block";
18    wrap.style.left = e.clientX+'px';
19    wrap.style.right = e.clientY +'px';
20     return false;//取消右键点击的默认事件
21  };
22    document.onclick= function(){
23      wrap.style.display = 'block';
24   }
25 }

该段代码最关键的地方,就是在oncontext事件中返回false,从而达到取消默认事件的效果。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM