DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> js oncontextmenu事件使用詳解
js oncontextmenu事件使用詳解
編輯:JavaScript基礎知識     

定義和使用

oncontextmenu 事件在元素中用戶右擊鼠標時觸發並打開上下文菜單。
注意:所有浏覽器都支持 oncontextmenu 事件, contextmenu 元素只有 Firefox 浏覽器支持。

實例

當用戶在 <div> 元素 上右擊鼠標時執行 Javascript :

<div oncontextmenu="myFunction()" contextmenu="mymenu">

用oncontextmenu事件單禁用右鍵菜單

onconTextmenu=window.event.returnValue=false;右鍵菜單禁用,用這個可以禁止復制。

在<body>中加入屬性代碼:

<script>
 window.document.oncontextmenu = function(){ 
//alert('請不要點擊鼠標右鍵!');
return false;
} 
</script>

oncontextmenu="return false"

onselectstart="return false" 禁止選中網頁上的內容

oncopy="return false" 防復制用戶在網頁上選中的內容

防止用戶另存網頁:

利用<noscript><iframe src=*.html></iframe></noscript>標簽,能防止網頁的直接另存,但不能防止網頁被人使用工具下載

*為通配符。

例1:

<html>
<head>
<title>OnContextMenu事件</title>
<script language="Javascript">
<!--
function uFunction()
{   
  document.all.infoDiv.innerHTML='你按下了鼠標右鍵,但是右鍵菜單不能 顯示!';
}
function uFunction2()
{  
  document.all.infoDiv.innerHTML='你按下了Ctrl+鼠標右鍵,可以 顯示右鍵菜單。';
}
//-->
</script>
</head>
<body oncontextmenu="if(!event.ctrlKey){uFunction();return false}else{uFunction2()}">
  <div id="infoDiv">你按下了鼠標右鍵,但是右鍵菜單不能 顯示!<br>你按下了Ctrl+鼠標右鍵,可以顯示右鍵菜單。
  </div>
</body>
</html>

例2:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <title>利用OnMousedown和OnContextmenu為表格添加鼠標左中右鍵單擊的處理</title>
  <script type="text/javascript">
    var keyArray = new Array(
      new Array(0, "右鍵"),
      new Array(1, "左鍵"),
      new Array(2, "右鍵"), // 測試在IE7中按右鍵是2,在Maxthon2.0正式版中是0
      new Array(3, "左鍵右鍵同時按"),//在IE7中我測試捕獲不到,慎用
      new Array(4, "中鍵")
      //測試同時按兩個鍵更多的表示
      //new Array(6, "中鍵右鍵同時按")
    );
    function Click()
    {
      var message = GetKeyMessage(event.button);
      alert(message);
      if (event.button == 2 || event.button == 0) //按右鍵,// 測試在IE7中按右鍵是2,在Maxthon2.0正式版中是0
       {
        //處理代碼
      }
    }
    function GetKeyMessage(button)
    {
      for (var i = 0; i < keyArray.length; i++)
      {
        if (keyArray[i][0] == button)
        {
          return keyArray[i][1] + ", event.button = " + button;
        }
      }
       return "未知組合鍵, event.button = " + button;
    }
  </script>
</head>
<body>
<table cellpadding="0" cellspacing="0" border="1">
<tr>
  <!--oncontextmenu="return false"屏蔽快捷菜單-->
  <td oncontextmenu="return false" onmousedown="Click()">請分別用左鍵、右鍵、中鍵、左鍵右鍵組合點這裡測試</td>
</tr>
<tr>
  <td>這個表格沒有處理,點這裡沒反應</td>
</tr>
</table>
</body>
</html>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved