1. 程式人生 > >js實現自定義右鍵選單

js實現自定義右鍵選單

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

1. 遮蔽預設右鍵事件;

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

3. 右鍵點選特定或非特定區域,顯示選單模組;

4. 再次點選,隱藏選單。

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

HTML

<!--Right Click Menu-->
<div class="right-menu" id="right-menu">
    <ul>
        <b>選擇型別:</b>
    </ul>
    <div align="center">
        <a href='javascript:;' value="01">拼接視訊檔案</a>
        <a href='javascript:;' value="02">拼接圖片檔案</a>
        <a href='javascript:;' value="03">拼接字幕檔案</a>
        <a href='javascript:;' value="04">流媒體檔案</a>
        <a href='javascript:;' value="05">圖片檔案</a>
        <a href='javascript:;' value="06">字幕檔案</a>
        <a href='javascript:;' value="07">動畫檔案</a>
        <a href='javascript:;' value="08">字型檔案</a>
        <a href='javascript:;' value="09">音視訊檔案</a>
    </div>
</div>
JavaScript
window.onload = function(){
    var forRight = document.getElementById("right-menu");
    document.getElementById("模組1").oncontextmenu = function(event){
        var event = event || window.event;
        //顯示選單
        forRight.style.display = "block";
        //選單定位
        forRight.style.left = event.pageX+"px";
        forRight.style.top = event.pageY+"px";
        //return false為了遮蔽預設事件
        return false;
    };
    //再次點選,選單消失
    document.onclick=function(){
        forRight.style.display = "none";
    };
};