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

首頁(yè) > 編程 > JavaScript > 正文

JavaScript 對(duì)任意元素,自定義右鍵菜單的實(shí)現(xiàn)方法

2019-11-20 22:43:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、一些概念:

  1、鼠標(biāo)事件有一個(gè)botton屬性:返回一個(gè)整數(shù),用于表示點(diǎn)擊的是哪個(gè)鼠標(biāo)按鍵。
  BUG:在IE和標(biāo)準(zhǔn)DOM的鼠標(biāo)事件中,唯一一個(gè)button屬性值相同的是“單擊右鍵”事件,都返回2。

  2、事件onmousedown:表示鼠標(biāo)按鍵按下的動(dòng)作。
    事件oncontextmenu:點(diǎn)擊鼠標(biāo)觸發(fā)的另一個(gè)事件。

  3、中斷默認(rèn)事件處理函數(shù)的方法:IE中設(shè)置returnValue=false;  標(biāo)準(zhǔn)DOM中調(diào)用preventDefault()方法。

  4、事件對(duì)象:①在IE中,事件對(duì)象是window對(duì)象的一個(gè)event屬性。

          聲明:

 

         ②在標(biāo)準(zhǔn)DOM中,事件對(duì)象是事件處理函數(shù)的唯一參數(shù)。

          聲明:

 

      解決兼容性:

 

二、實(shí)現(xiàn):

HTML:

復(fù)制代碼 代碼如下:

    <p id="p1">Uncle Cat is a fat white cat !</p>
    <div id="d1">
        <a>剪切</a>
        <a>復(fù)制</a>
        <a>粘貼</a>
    </div>

javascript:
復(fù)制代碼 代碼如下:

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

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 若尔盖县| 突泉县| 武陟县| 三门峡市| 无为县| 浪卡子县| 库车县| 沽源县| 高清| 西乌珠穆沁旗| 昌邑市| 富宁县| 噶尔县| 黎平县| 周口市| 法库县| 阳原县| 泰州市| 华亭县| 葫芦岛市| 密山市| 汶上县| 三原县| 平山县| 富裕县| 肥东县| 海阳市| 湖北省| 钟祥市| 万年县| 中西区| 梅河口市| 红桥区| 海淀区| 谢通门县| 衡阳县| 曲靖市| 溧水县| 闸北区| 株洲县| 博罗县|