js oncontextmenu事件使用详解
程序员文章站
2022-04-29 16:32:30
定义和使用
oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单。
注意:所有浏览器都支持 oncontextmenu 事件, contextme...
定义和使用
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>
上一篇: 谷糠油是什么油,它有哪些功效
下一篇: js 函数式编程学习笔记