JavaScript實現自定義右鍵菜單


JavaScript實現自定義右鍵菜單,思路如下:

1. 屏蔽默認右鍵事件;

2. 隱藏自定義的菜單模塊(如div、ul等);

3. 右鍵點擊特定或非特定區域,顯示菜單模塊;

4. 再次點擊,隱藏菜單。

 

明確了思路,下面給出相關代碼:

HTML:

 1 <!--Right Click Menu-->  
 2 <div id="background">Click Here</div>
 3 <div class="right-menu" id="right-menu">  
 4     <ul>  
 5         <b>選擇類型:</b>  
 6     </ul>  
 7     <div align="center">  
 8         <a href='javascript:;' value="01">拼接視頻文件</a>  
 9         <a href='javascript:;' value="02">拼接圖片文件</a>  
10         <a href='javascript:;' value="03">拼接字幕文件</a>  
11         <a href='javascript:;' value="04">流媒體文件</a>  
12         <a href='javascript:;' value="05">圖片文件</a>  
13         <a href='javascript:;' value="06">字幕文件</a>  
14         <a href='javascript:;' value="07">動畫文件</a>  
15         <a href='javascript:;' value="08">字體文件</a>  
16         <a href='javascript:;' value="09">音視頻文件</a>  
17     </div>  
18 </div>  

 

JavaScript:

 1 window.onload = function(){  
 2     var forRight = document.getElementById("right-menu");  
 3     document.getElementById("background").oncontextmenu = function(event){  
 4         var event = event || window.event;  
 5         //顯示菜單  
 6         forRight.style.display = "block";  
 7         //菜單定位  
 8         forRight.style.left = event.pageX+"px";  
 9         forRight.style.top = event.pageY+"px";  
10         //return false為了屏蔽默認事件  
11         return false;  
12     };  
13     //再次點擊,菜單消失  
14     document.onclick=function(){  
15         forRight.style.display = "none";  
16     };  
17 };  

 

CSS:

 1 #background {
 2     background-color: #4db3a2;
 3     width: 500px;
 4     height: 300px;
 5 }
 6 .right-menu {
 7     position: absolute;
 8     z-index: 99999;
 9     overflow: hidden;
10     width: 150px;
11     background-color: #FFFFFF;
12     border: dimgray 1px solid !important;
13     font-size: 14px;
14     list-style-type: none;
15     display: none;
16 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM