JS簡單實現自定義右鍵選單

2022-04-29 06:51:06 字數 768 閱讀 3150

今天來講乙個關於右鍵選單的小demo,拋磚引玉。

首先,我們要用css和html做乙個自定義右鍵選單。

功能1功能2

功能3功能4

功能5

/*css***/

#menu

.menu

現在我們已經有了自定義選單,還需要乙個很重要的事件 contextmenu。 

> contextmenu :當你在頁面上右鍵點選時,會觸發此事件,並會跳出瀏覽器自帶的右鍵選單。

所以,我們要做的就是,在觸發contextmenu事件時,取消掉預設行為(也就是阻止瀏覽器顯示自帶的選單)

通過傳入的事件物件,來確定滑鼠的點選位置,作為left和top的值來進行元素的定位,並顯示自定義選單

window.oncontextmenu=function(e)

//關閉右鍵選單,很簡單

window.onclick=function(e)

這裡只是乙個很簡單的例子,contextmenu事件支援所有 html 元素,這意味者你可以給不同的元素,自定義不同的右鍵選單,由於contextmenu事件會冒泡傳播,子節點上觸發的事件,在父節點上也會觸發,所以應該呼叫對應的函式或者設定對應的屬性值來阻止事件冒泡。

根據事件物件來定位其實很複雜也很簡單,除了clienty和clientx,滑鼠事件物件提供了一系列複雜的相關資訊,諸如layerx,pagex等等,這些值並不直觀,還存在瀏覽器相容問題,不過clientx和clienty,可以說是萬金油屬性。

自定義右鍵選單

禁止系統右鍵選單 document.oncontextmenu function 獲取滑鼠藍色框選中的內容 document.getselection tostring 火狐不能得到文字框內的內容 示例 utf 8 title ulli li hover style head aaaa rows 4...

自定義Flex右鍵選單

1.右鍵專案設定flex編譯器的引數如下 其實flash player從11.版本就支援自定義右鍵選單了。2.重新編譯flex專案或關閉專案後重新開啟,錯誤解除。3.測試 如下 xmlns s library xmlns mx library minwidth 955 minheight 600 i...

windows 自定義右鍵選單

引用 1.組合鍵win r,輸入regedit,回車 開啟登錄檔編輯器 2.找到目錄中 hkey classes root directory background shell 對其右鍵,新建乙個項 新建資料夾 並命名為 stikynot 你也可以將此資料夾命名為 開啟便箋 這個資料夾的名稱就是新建...