国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript 對任意元素,自定義右鍵菜單的實現方法

2024-05-06 15:47:54
字體:
來源:轉載
供稿:網友
本篇文章是對在JavaScript中對任意元素,自定義右鍵菜單的實現方法進行了詳細的分析介紹。需要的朋友參考下

一、一些概念:

  1、鼠標事件有一個botton屬性:返回一個整數,用于表示點擊的是哪個鼠標按鍵。
  BUG:在IE和標準DOM的鼠標事件中,唯一一個button屬性值相同的是“單擊右鍵”事件,都返回2。

  2、事件onmousedown:表示鼠標按鍵按下的動作。
    事件oncontextmenu:點擊鼠標觸發的另一個事件。

  3、中斷默認事件處理函數的方法:IE中設置returnValue=false; 標準DOM中調用preventDefault()方法。

  4、事件對象:①在IE中,事件對象是window對象的一個event屬性。

          聲明:

         ②在標準DOM中,事件對象是事件處理函數的唯一參數。


二、實現:

HTML:

復制代碼 代碼如下:


<p>Uncle Cat is a fat white cat !</p>
<div>
<a>剪切</a>
<a>復制</a>
<a>粘貼</a>
</div>


javascript:

復制代碼 代碼如下:


window.onload=function(){
rightmenu('p1','d1');
}
/****
*     封裝右鍵菜單函數:
*    elementID 要自定義右鍵菜單的 元素的id
*    menuID    要顯示的右鍵菜單DIv的 id
*/
function rightmenu(elementID,menuID){
  var menu=document.getElementById(menuID);//獲取菜單對象
  var element=document.getElementById(elementID);//獲取點擊擁有自定義右鍵的 元素
  element.onmousedown=function(aevent){//設置該元素的 按下鼠標右鍵右鍵的 處理函數
    if(window.event)aevent=window.event;//解決兼容性
    if(aevent.button==2){//當事件屬性button的值為2時,表用戶按下了右鍵
      document.oncontextmenu=function(aevent){
    if(window.event){
    aevent=window.event;
        aevent.returnValue=false;//對IE 中斷 默認點擊右鍵事件處理函數
      }else{
        aevent.preventDefault();//對標準DOM 中斷 默認點擊右鍵事件處理函數
      };
    };
    menu.style.cssText='display:block;top:'+aevent.clientY+'px;'+'left:'+aevent.clientX+'px;'
    //將菜單相對 鼠標定位
    }
  }
  menu.onmouseout=function(){//設置 鼠標移出菜單時 隱藏菜單
    setTimeout(function(){menu.style.display="none";},400);
  }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 辽阳县| 西吉县| 梁河县| 鹤庆县| 鸡东县| 汤阴县| 民县| 内黄县| 胶州市| 临武县| 望奎县| 永吉县| 武宣县| 泰顺县| 都昌县| 邯郸县| 宁强县| 曲松县| 定南县| 东丽区| 克什克腾旗| 阿坝| 洮南市| 普安县| 吐鲁番市| 延津县| 华蓥市| 湘阴县| 龙岩市| 沙田区| 商丘市| 墨脱县| 鹤岗市| 浦东新区| 天门市| 南溪县| 曲沃县| 陆河县| 宝山区| 左贡县| 富宁县|