在浏览器中 鼠标右键点击会显示默认的 自带的菜单,那么如何禁止 和更改呢?

1) 禁止右键

window.oncontextmenu = funcRef;  

funcRef是个函数引用     

举例说明:

window.oncontextmenu = function () {

  return false;  
}   
该窗口禁止使用右键 

2)更改 (自定义右键菜单)

html结构

 <ul id="menu">
<li>重命名</li>
<li>删除</li>
<li>移动到</li>
<li class="more">更多 >
<ul>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
<li>二级菜单</li>
</ul>
</li>
</ul>

css样式

 ul{
list-style: none;
padding: 0;
border:1px solid #000;
border-bottom: none;
width:200px;
position: absolute;
display: none;
}
li{
line-height: 20px;
padding:5px;
border-bottom:1px solid #000;
position: relative;
}

javaScript

右键点击事件: oncontextmenu

获取元素

var menu = document.querySelector('#menu');

var more = menu.querySelectorAll('.more');

如果更多有内容就显示出来

   for(var i=0,l=more.length;i<l;i++){
more[i].onmouseover = function(){
var ul = this.querySelector('ul');
ul.style.display = 'block';
ul.style.left = this.offsetWidth+'px';
ul.style.top = 0;
};
more[i].onmouseout = function(){
var ul = this.querySelector('ul');
ul.style.display = 'none';
};
}

设置右键菜单

 document.oncontextmenu = function(ev){

   var ev = ev||event;
ev.preventDefault();//阻止默认行为 var x = ev.clientX;// 获取鼠标位置
var y = ev.clientY; menu.style.display = 'block';
menu.style.left = x+'px';
menu.style.top = y+'px'; };

点击取消右键菜单

document.onclick = function(){
menu.style.display = 'none';
};

获取或设置当前窗口contextmenu事件的事件处理函数的更多相关文章

  1. off(events,[selector],[fn]) 在选择元素上移除一个或多个事件的事件处理函数。

    off(events,[selector],[fn]) 概述 在选择元素上移除一个或多个事件的事件处理函数. off() 方法移除用.on()绑定的事件处理程序.有关详细信息,请参阅该网页上deleg ...

  2. jquery事件之事件处理函数

    一.事件处理 方法名 说明 语法 (events 事件类型,data数据,handler 事件处理函数,selector 选择器) Bind( 为每一个匹配元素的特定事件(像click)绑定一个事件处 ...

  3. on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数

    on(events,[selector],[data],fn) 概述 在选择元素上绑定一个或多个事件的事件处理函数.大理石平台精度等级 on()方法绑定事件处理程序到当前选定的jQuery对象中的元素 ...

  4. js获取或设置当前窗口url参数

    直接上代码 // 获取当前窗口url中param参数的值 function get_param(param){ var query = location.search.substring(1).spl ...

  5. JavaScript:理解事件、事件处理函数、钩子函数、回调函数

    详情请点击 http://www.jianshu.com/p/a0c580ed3432

  6. 【repost】JavaScript 事件模型 事件处理机制

    什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了.事件可能是用户在某些内容上的点击 ...

  7. JavaScript 事件模型 事件处理机制

    什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了.事件可能是用户在某些内容上的点击 ...

  8. JavaScript的事件的处理函数(鼠标,键盘,HTML)

    事件处理函数概述 JavaScript 可以处理的事件类型为:鼠标事件.键盘事件.HTML 事件 所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如 click 事件的事件处理函数就是: ...

  9. HTML5-常见的事件- contextmenu 事件

    主要控制应该何时显示上下文菜单,以便开发人员取消默认的上下文菜单而提供自定义的菜单 <1> 由于该事件是冒泡的,因此可以为document 指定一个事件处理程序,用以处理页面中发生的所有此 ...

随机推荐

  1. 爱上朴实的CSS细节

    英文原文:Learning to Love the Boring Bits of CSS  未来的CSS太让人兴奋了:一方面,是全新的页面布局方式:另一方面,是酷炫的滤镜.颜色等视觉效果.这些CSS, ...

  2. My Function Lib

    一直想有一个稳定的,持续增长的函数库,以备自己日常工作查询,使用.就从今天,这里开始,并坚持下去. 1.判断是否是ajax请求 //判断是否为 ajax 请求 public function isAj ...

  3. C++ 设计模式 依赖倒置原则 简单示例

    C++ 设计模式 依赖倒置原则 简单示例 /** * 依赖倒置原则(Dependency Inversion Principle) * 依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程 ...

  4. Entropy

    Entropy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. php图片上传服务器

    原理是把图片上传到服务器的某个目录,然后在把他的名字存入数据库,或者不需要数据库这部分也行.读取的时候直接读取名字. HTML提交表格 <form method="post" ...

  6. Ruby变量常量

    全局变量:以$开头 实例变量:以@开头  @cust_id=id Ruby 常量: 常量以大写字母开头

  7. 大家好,我是ZCDHJ

    大家好,我是ZCDHJ.CJ C2017级的一名Oier.

  8. 运放的PID电路

    PID就是(比例(proportion).积分(integral).导数(derivative)),在工程实际中,应用最为广泛的调节器控制规律为比例.积分.微分控制,简称PID控制,又称PID调节. ...

  9. JS小游戏:贪吃蛇(附源码)

    javascript小游戏:贪吃蛇 此小游戏采用的是面向对象的思想,将蛇,食物,和游戏引擎分为3个对象来写的. 为方便下载,我把js写在了html中, 源码中暂时没有注释,等有空我在添加点注释吧. 游 ...

  10. link和import导入外部样式的区别

    1.结构 link语法结构 <link rel="stylesheet" href="CSSurl" type="text/css" ...