Javascript實(shí)現(xiàn)鼠標(biāo)右鍵特色菜單
在Web端,通常是不需要右鍵菜單,各個(gè)瀏覽器也有自己的右鍵菜單。但是對(duì)于一些特殊的網(wǎng)頁(yè),是需要右鍵菜單來(lái)增加用戶(hù)體驗(yàn)的,比如百度音樂(lè),QQ郵箱,相信大家都在Web端使用過(guò)右鍵菜單了,現(xiàn)在來(lái)分享一下如何實(shí)現(xiàn),比較簡(jiǎn)單。
運(yùn)行代碼:
window.onload = function() { document.oncontextmenu = block; document.body.onmouseup = function(event) { if (!event) event = window.event; if (event.button == 2) { var x = event.pageX || event.clientX; var y = event.pageY || event.clientY; document.getElementById("contextMenu").style.left = x "px"; document.getElementById("contextMenu").style.top = y "px"; document.getElementById("contextMenu").style.display = "block"; } } //阻止事件冒泡 document.getElementById("contextMenu").onclick = function(event) { event.stopPropagation(); } //點(diǎn)擊其他地方隱藏 document.onclick = function() { document.getElementById("contextMenu").style.display = "none"; } for (var i = 0; i < getElementsByClassName("contextMenuItem").length; i ) { getElementsByClassName("contextMenuItem")[i].onclick = function(event) { event = event ? event : window.event var target = event.srcElement ? event.srcElement : event.targe; document.getElementById("contextMenu").style.display = "none"; //alert("您點(diǎn)擊了: " target.innerHTML); } } } function block(event) { if (window.event) { event = window.event; event.returnValue = false; } else event.preventDefault(); } //兼容IE不支持getElementsByClassName function getElementsByClassName(className, root, tagName) { if (root) { root = typeof root == "string" ? document.getElementById(root) : root; } else { root = document.body; } tagName = tagName || "*"; if (document.getElementsByClassName) { return root.getElementsByClassName(className); } else { var tag = root.getElementsByTagName(tagName); var tagAll = []; for (var i = 0; i < tag.length; i ) { for (var j = 0, n = tag[i].className.split(' '); j < n.length; j ) { if (n[j] == className) { tagAll.push(tag[i]); break; } } } return tagAll; } }
效果圖:
以上就是本文的全部?jī)?nèi)容,希望大家可以喜歡。
- JavaScript模擬鼠標(biāo)右鍵菜單效果
- javascript鼠標(biāo)右鍵菜單自定義效果
- 兩種JS實(shí)現(xiàn)屏蔽鼠標(biāo)右鍵的方法
- js實(shí)現(xiàn)完全自定義可帶多級(jí)目錄的網(wǎng)頁(yè)鼠標(biāo)右鍵菜單方法
- js判斷鼠標(biāo)左、中、右鍵哪個(gè)被點(diǎn)擊的方法
- JS 獲取鼠標(biāo)左右鍵的鍵值方法
- javascript實(shí)現(xiàn)在某個(gè)元素上阻止鼠標(biāo)右鍵事件的方法和實(shí)例
- js自定義鼠標(biāo)右鍵的實(shí)現(xiàn)原理及源碼
- JavaScript鼠標(biāo)事件,點(diǎn)擊鼠標(biāo)右鍵,彈出div的簡(jiǎn)單實(shí)例
相關(guān)文章
抽出www.templatemonster.com的鼠標(biāo)懸停加載大圖模板的代碼
抽出www.templatemonster.com的鼠標(biāo)懸停加載大圖模板的代碼...2007-07-07JS+Canvas實(shí)現(xiàn)的俄羅斯方塊游戲完整實(shí)例
這篇文章主要介紹了JS+Canvas實(shí)現(xiàn)的俄羅斯方塊游戲,結(jié)合完整實(shí)例形式分析了Canvas技術(shù)實(shí)現(xiàn)俄羅斯方塊游戲的步驟、技術(shù)難點(diǎn)與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-12-12用js判斷是否為360瀏覽器的實(shí)現(xiàn)代碼
這篇文章主要介紹了用js判斷是否為360瀏覽器的實(shí)現(xiàn)代碼,有時(shí)候我們需要判斷是否為360瀏覽器,包括百度聯(lián)盟后臺(tái)就有這樣的提示需要的朋友可以參考下2015-01-01Javascript實(shí)現(xiàn)登錄記住用戶(hù)名和密碼功能
本文主要介紹了Javascript實(shí)現(xiàn)登錄記住用戶(hù)名和密碼功能的代碼。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03fckeditor部署到weblogic出現(xiàn)xml無(wú)法讀取及樣式不能顯示問(wèn)題的解決方法
這篇文章主要介紹了fckeditor部署到weblogic出現(xiàn)xml無(wú)法讀取及樣式不能顯示問(wèn)題的解決方法,分析了問(wèn)題出現(xiàn)的原因及相關(guān)配置文件設(shè)置技巧,需要的朋友可以參考下2017-03-03JavaScript設(shè)計(jì)模式之策略模式詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript設(shè)計(jì)模式之策略模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06JavaScript Window 打開(kāi)新窗口(window.location.href、windo
本文主要介紹了JavaScript Window 打開(kāi)新窗口的三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05