定義和使用
oncontextmenu 事件在元素中用戶(hù)右擊鼠標(biāo)時(shí)觸發(fā)并打開(kāi)上下文菜單。
注意:所有瀏覽器都支持 oncontextmenu 事件, contextmenu 元素只有 Firefox 瀏覽器支持。
實(shí)例
當(dāng)用戶(hù)在 <div> 元素 上右擊鼠標(biāo)時(shí)執(zhí)行 JavaScript :
<div oncontextmenu="myFunction()" contextmenu="mymenu">
用oncontextmenu事件單禁用右鍵菜單
onconTextmenu=window.event.returnValue=false;右鍵菜單禁用,用這個(gè)可以禁止復(fù)制。
在<body>中加入屬性代碼:
<script> window.document.oncontextmenu = function(){ //alert('請(qǐng)不要點(diǎn)擊鼠標(biāo)右鍵!');return false;} </script>
oncontextmenu="return false"
onselectstart="return false" 禁止選中網(wǎng)頁(yè)上的內(nèi)容
oncopy="return false" 防復(fù)制用戶(hù)在網(wǎng)頁(yè)上選中的內(nèi)容
防止用戶(hù)另存網(wǎng)頁(yè):
利用<noscript><iframe src=*.html></iframe></noscript>標(biāo)簽,能防止網(wǎng)頁(yè)的直接另存,但不能防止網(wǎng)頁(yè)被人使用工具下載
*為通配符。
例1:
<html><head><title>OnContextMenu事件</title><script language="JavaScript"><!--function uFunction(){ document.all.infoDiv.innerHTML='你按下了鼠標(biāo)右鍵,但是右鍵菜單不能 顯示!';}function uFunction2(){ document.all.infoDiv.innerHTML='你按下了Ctrl+鼠標(biāo)右鍵,可以 顯示右鍵菜單。';}//--></script></head><body oncontextmenu="if(!event.ctrlKey){uFunction();return false}else{uFunction2()}"> <div id="infoDiv">你按下了鼠標(biāo)右鍵,但是右鍵菜單不能 顯示!<br>你按下了Ctrl+鼠標(biāo)右鍵,可以顯示右鍵菜單。 </div></body></html>
例2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head> <title>利用OnMousedown和OnContextmenu為表格添加鼠標(biāo)左中右鍵單擊的處理</title> <script type="text/javascript"> var keyArray = new Array( new Array(0, "右鍵"), new Array(1, "左鍵"), new Array(2, "右鍵"), // 測(cè)試在IE7中按右鍵是2,在Maxthon2.0正式版中是0 new Array(3, "左鍵右鍵同時(shí)按"),//在IE7中我測(cè)試捕獲不到,慎用 new Array(4, "中鍵") //測(cè)試同時(shí)按兩個(gè)鍵更多的表示 //new Array(6, "中鍵右鍵同時(shí)按") ); function Click() { var message = GetKeyMessage(event.button); alert(message); if (event.button == 2 || event.button == 0) //按右鍵,// 測(cè)試在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()">請(qǐng)分別用左鍵、右鍵、中鍵、左鍵右鍵組合點(diǎn)這里測(cè)試</td></tr><tr> <td>這個(gè)表格沒(méi)有處理,點(diǎn)這里沒(méi)反應(yīng)</td></tr></table></body></html>
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注