js調(diào)出上下文菜單的實例
本文實例講述了js調(diào)出上下文菜單的實例代碼,分享給大家供大家參考,具體如下:
原理
當用戶點擊右鍵時會觸發(fā)一個contextmenu事件,默認會觸發(fā)瀏覽器的默認的上下文菜單,通過手動阻止這個默認行為,然后再顯示自定義的上下文菜單,當用戶單擊時隱藏這個菜單即可。
代碼
1、html
<div id="box" style="color:red;width: 100%;height:1000px;" > <div id="left" style="float:left;width:500px;margin-left: 50px;height:500px;background: #cdeddf;"> </div> <div id="right" style="float:right;width:600px;margin-right: 50px;height:500px;background: #cdeaae;"> </div> <ul id="menu" style="position: absolute;visibility: hidden;list-style: none;"> <li>按鈕1</li> <li>按鈕2</li> <li>按鈕3</li> </ul> </div>
2、js
// 添加contextmenu事件
var right = document.getElementById("right");
EventUtil.addEventListener(right, "contextmenu", function(event) {
event = EventUtil.getEvent(event);
EventUtil.preventDefault(event);
var menu = document.getElementById("menu");
// 獲取鼠標右擊時的坐標,并設置上下文菜單出現(xiàn)位置
page = EventUtil.getPagePosition(event);
menu.style.left = page.pageX + "px";
menu.style.top = page.pageY + "px";
menu.style.visibility = "visible";
});
// 添加隱藏上下文菜單事件
EventUtil.addEventListener(document, "click", function(event) {
var menu = document.getElementById("menu");
menu.style.visibility = "hidden";
});
代碼出現(xiàn)的EventUtil在這篇文章有介紹: 《js跨瀏覽器的事件偵聽器和事件對象的使用方法》
以上就是本文的全部內(nèi)容,教大家js調(diào)出上下文菜單的方法,希望對大家的學習有所幫助。
相關(guān)文章
有關(guān)文件上傳 非ajax提交 得到后臺數(shù)據(jù)問題
本文給大家介紹關(guān)于文件上傳非ajax提交得到后臺數(shù)據(jù)的問題我們該怎么處理呢?下文給大家介紹的非常詳細,感興趣的朋友一起看看吧2016-10-10
微信小程序頁面與組件之間信息傳遞與函數(shù)調(diào)用
不管是vue還是react中,都在強調(diào)組件思想,所以下面這篇文章主要給大家介紹了關(guān)于微信小程序頁面與組件之間信息傳遞與函數(shù)調(diào)用的相關(guān)資料,需要的朋友可以參考下2021-05-05
layer實現(xiàn)登錄彈框,登錄成功后關(guān)閉彈框并調(diào)用父窗口的例子
今天小編就為大家分享一篇layer實現(xiàn)登錄彈框,登錄成功后關(guān)閉彈框并調(diào)用父窗口的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
javascript實現(xiàn)動態(tài)增加刪除表格行(兼容IE/FF)
javascript實現(xiàn)動態(tài)增加刪除表格行(兼容IE/FF)...2007-04-04
JS的encodeURI和java的URLDecoder.decode使用介紹
如果不想在url中看到有明文可以使用js的encodeURI的URLDecoder.decode一起使用一起來把url加密下,下面有個不錯的示例,大家不妨參考下2014-05-05

