JavaScript自定義右鍵選單詳解
本章節分享一段程式碼例項,它實現了自定義右鍵選單的功能。
下面就給出程式碼例項,並且做一下詳細分析介紹,需要的朋友可以做一下參考。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin: 0; padding: 0; } #menu { width: 254px; font-size: 12px; position: fixed; top: 0px; left: 0px; padding-top: 2px; border: 1px solid #ccc; display: none; } #menu li { list-style: none; line-height: 25px; margin-left: -1px; padding-left: 26px; } #menu li:hover { background-color: #4281f4; color: #fff; } </style> <script type="text/javascript"> window.onload = function () { var menu = document.getElementById("menu"); document.oncontextmenu = function (e) { var e = e || window.event; menu.style.display = "block"; var cakLeft = (e.clientX > document.documentElement.clientWidth - menu.offsetWidth) ? (document.documentElement.clientWidth - menu.offsetWidth) : e.clientX; var cakTop = (e.clientY > document.documentElement.clientHeight - menu.offsetHeight) ? (document.documentElement.clientHeight - menu.offsetHeight) : e.clientY; menu.style.left = cakLeft + "px"; menu.style.top = cakTop + "px"; return false; } document.onclick = function () { menu.style.display = "none"; } } </script> </head> <body> <ul id="menu"> <li>返回(B)</li> <li>前進(F)</li> <li>從新載入(R)</li> <li>另存為(A)</li> <li>列印(P)</li> <li>檢視網頁原始碼(V)</li> <li>檢視網頁資訊(I)</li> <li>審查元素(N)</li> </ul> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload = function () {},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var menu = document.getElementById("menu"),獲取id屬性值為menu的元素物件。
(3).document.oncontextmenu = function (e) {},為document註冊oncontextmenu事件,也就是右鍵會彈出選單。
(4).var e = e || window.event,相容所有瀏覽器的事件物件。
(5).menu.style.display = "block",顯示右鍵選單。
(6).var cakLeft = (e.clientX > document.documentElement.clientWidth - menu.offsetWidth) ?
(document.documentElement.clientWidth - menu.offsetWidth) : e.clientX,如果點選右鍵時,滑鼠指標在瀏覽器客戶區的座標距離客戶區右側的距離小於自定義選單的寬度,那麼設定此選單的left屬性值就是瀏覽器客戶區寬度減去選單寬度,否則就是滑鼠指標在客戶區的座標值。
(7).menu.style.left = cakLeft + "px";
menu.style.top = cakTop + "px";
設定右鍵選單的left和top值。
(8).return false,這個很重要,取消預設動作,否則系統自帶的右鍵選單也會出現。
(9).document.onclick = function () {
menu.style.display = "none";
},點選document就會隱藏右鍵選單。
相關文章
- javascript自定義右鍵選單程式碼JavaScript
- 自定義右鍵選單實現過程詳解
- 自定義 Windows 右鍵選單項Windows
- win10右鍵選單彈出方向怎麼自定義_win10如何自定義右鍵選單彈出方向Win10
- 自定義右鍵導航選單程式碼例項
- 管理右鍵選單
- win10系統刪除右鍵選單中“自定義資料夾”選項的方法Win10
- Qt:QT右鍵選單QT
- JavaScript自定義滾動條詳解JavaScript
- DataGridView清除顯示的資料、設定右鍵選單詳解View
- 右鍵模擬windows選單Windows
- 自定義 IE 滑鼠右鍵彈出式 (轉)
- 詳解Win7“自定義開始選單”設定技巧Win7
- JCEF 如何修改右鍵選單項(JCEF在右鍵選單中新增開發者選項-show dev tools)dev
- 新增右鍵選單: SourceTree 右鍵開啟當前目錄
- 如何管理win10右鍵新建選單_win10如何清理右鍵新建選單Win10
- 右鍵選單遮蔽 和 複製到剪貼簿 的javascriptJavaScript
- 右鍵新建選單沒有 office 解決辦法
- 解決右鍵選單沒有新建的問題
- jq模仿右鍵觸發選單
- Notepad++ 右鍵選單
- js 做網頁右鍵選單JS網頁
- win10桌面右鍵選單清理的方法_如何清理win10桌面右鍵選單Win10
- 右鍵選單中的文字文件新增快捷鍵
- 滑鼠右鍵選單欄東西太多怎麼辦 右鍵選單怎麼編輯調整
- Win10檔案右鍵選單清理教程 Win10右鍵選單怎麼刪除?Win10
- JavaScript二級下拉選單詳解JavaScript
- UIWebView自定義選單欄UIWebView
- js垂直右側展開導航選單詳解JS
- Windows如何新增右鍵新建選單Windows
- [msys2]整合到右鍵選單
- 手動新增git到 右鍵選單Git
- win10滑鼠右鍵選單欄怎麼改 刪除右鍵選單欄無用選項的方法Win10
- win10怎麼去除桌面右鍵多餘選單命令_win10如何清理右鍵新建選單Win10
- win10右鍵選單出現左邊如何恢復到右邊_win10右鍵選單在左邊怎麼改回右邊Win10
- 禁用文字選擇、右鍵選單例項程式碼單例
- JavaScript省市級聯選單原理詳解JavaScript
- Win10右鍵選單管理方法Win10