javascript实现在某个元素上阻挡鼠标右键大事的方法和实例__第1页
javascript实现在某个元素上阻挡鼠标右键大事的方法和实例__第2页
javascript实现在某个元素上阻挡鼠标右键大事的方法和实例__第3页
javascript实现在某个元素上阻挡鼠标右键大事的方法和实例__第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、javascript实现在某个元素上阻挡鼠标右键大事的方法和实例_ 最近在做一个小东西的时候需要在某一个元素上“右击”触发一个自定义菜单,通过自定义的菜单对右击的条目进行编辑。这就要求屏蔽默认的右键菜单 IE和FF下面的元素都有oncontextmenu这个方法,在FF下面只要通过event.preventDefault()方法就可以轻松实现这个效果。IE并不支持这个方法,在IE下面一般是通过触发方法后return false来实现阻挡默认大事的。 通常我们用法阻挡右键大事是在全局阻挡,即在document层面就将右键拦截,现在我想要实现的效果是只在特定的区域阻挡默认的右键大事,而其他区域并不

2、影响。 通过试验我发觉要是在IE下绑定的方法中return false后在document层面上可以实现阻挡右键的默认行为。但是具体到某一个元素比如div,则失效。 最终通过查找手册发觉,IE下的event对象有一个returnValue属性,假如将这个属性设置为false则不会触发默认的右键大事。类似如下: 复制代码 代码如下: event.returnValue = false; 只要加入这句就实现了我想要的效果。完整Demo代码: 01 !DOCTYPE html PUBLIC -/W3C/DTD XHTML 1.0 Transitional/EN l1/DTD/xhtml1-trans

3、itional.dtd 02 html xmlns=l 03 head 04 meta http-equiv=Content-Type content=text/html; charset=utf-8 / 05 title在某个元素上阻挡鼠标右键默认大事DEMO/title 06 style 07 bodyfont-size:12px; line-height:24px; font-family:Arial, Helvetica, sans-serif; 08 #activeAreawidth:300px;height:200px; background:#06C; color:#fff; 0

4、9 #cstCM width:120px; background:#eee; border:1px solid #ccc; position:absolute; 10 #cstCM ulmargin:0; padding:0; 11 #cstCM ul li list-style:none;padding:0 10px; cursor:default; 12 #cstCM ul li:hover background:#009; color:#fff; 13 .splitTop border-bottom:1px solid #ccc; 14 .splitBottomborder-top:1p

5、x solid #fff; 15 /style 16 script 17 function customContextMenu(event) 18 event.preventDefault ? event.preventDefault():(event.returnValue = false); 19 var cstCM = document.getElementById(cstCM); 20 cstCM.style.left = event.clientX + px; 21 cstCM.style.top = event.clientY + px; 22 cstCM.style.displa

6、y = block; 23 document.onmousedown = clearCustomCM; 24 25 function clearCustomCM() 26 document.getElementById(cstCM).style.display = none; 27 document.onmousedown = null; 28 29 /script 30 /head 31 32 body 33 div id=cstCM style=display:none; 34 ul 35 liView/li 36 liSort By/li 37 li class=splitTopRefresh/li 38 li class=splitBottomPaste/li 39 li class=splitTopPaste Shortcut/li 40 li class=splitBottomProperty/li 41 /ul 42 /div 43 div id=activeArea oncontextmenu = customContextMenu(event) 44 Custom Context Menu Area 45 /div 46 /b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论