js調(diào)出上下文菜單的實(shí)例
本文實(shí)例講述了js調(diào)出上下文菜單的實(shí)例代碼,分享給大家供大家參考,具體如下:
原理
當(dāng)用戶點(diǎn)擊右鍵時(shí)會(huì)觸發(fā)一個(gè)contextmenu事件,默認(rèn)會(huì)觸發(fā)瀏覽器的默認(rèn)的上下文菜單,通過手動(dòng)阻止這個(gè)默認(rèn)行為,然后再顯示自定義的上下文菜單,當(dāng)用戶單擊時(shí)隱藏這個(gè)菜單即可。
代碼
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"); // 獲取鼠標(biāo)右擊時(shí)的坐標(biāo),并設(shè)置上下文菜單出現(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跨瀏覽器的事件偵聽器和事件對(duì)象的使用方法》
以上就是本文的全部內(nèi)容,教大家js調(diào)出上下文菜單的方法,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
JavaScript實(shí)現(xiàn)簡單抽獎(jiǎng)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單抽獎(jiǎng)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-0350行代碼實(shí)現(xiàn)Webpack組件使用次數(shù)統(tǒng)計(jì)
這篇文章主要介紹了50行代碼實(shí)現(xiàn)Webpack組件使用次數(shù)統(tǒng)計(jì),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03js定時(shí)器實(shí)現(xiàn)倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了js定時(shí)器實(shí)現(xiàn)倒計(jì)時(shí)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11微信小程序拍賣商品詳情頁設(shè)計(jì)與交互實(shí)現(xiàn)代碼(含倒計(jì)時(shí)、實(shí)時(shí)更新出價(jià))
這篇文章主要介紹了微信小程序拍賣商品詳情頁設(shè)計(jì)與交互實(shí)現(xiàn)代碼(含倒計(jì)時(shí)、實(shí)時(shí)更新出價(jià)),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08JavaScript實(shí)現(xiàn)鼠標(biāo)滑過處生成氣泡的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)滑過處生成氣泡的方法,涉及鼠標(biāo)事件與頁面樣式的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05JavaScript 學(xué)習(xí)筆記(七)字符串的連接
javascript 字符串的連接效率問題,需要的朋友可以參考下。2009-12-12