发布于 2017-02-22 13:48:08 | 99 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的Javascript教程,程序狗速度看过来!
JavaScript客户端脚本语言
Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例讲述了js调出上下文菜单的实例代码,分享给大家供大家参考,具体如下:
原理
当用户点击右键时会触发一个contextmenu事件,默认会触发浏览器的默认的上下文菜单,通过手动阻止这个默认行为,然后再显示自定义的上下文菜单,当用户单击时隐藏这个菜单即可。
代码
1、html
<div id="box" style="color:red;width: 100%;height:1000px;" >
<div id="left" style="float:left;width:500px;margin-left: 50px;height:500px;background: #cdeddf;">
</div>
<div id="right" style="float:right;width:600px;margin-right: 50px;height:500px;background: #cdeaae;">
</div>
<ul id="menu" style="position: absolute;visibility: hidden;list-style: none;">
<li>按钮1</li>
<li>按钮2</li>
<li>按钮3</li>
</ul>
</div>
2、js
// 添加contextmenu事件
var right = document.getElementById("right");
EventUtil.addEventListener(right, "contextmenu", function(event) {
event = EventUtil.getEvent(event);
EventUtil.preventDefault(event);
var menu = document.getElementById("menu");
// 获取鼠标右击时的坐标,并设置上下文菜单出现位置
page = EventUtil.getPagePosition(event);
menu.style.left = page.pageX + "px";
menu.style.top = page.pageY + "px";
menu.style.visibility = "visible";
});
// 添加隐藏上下文菜单事件
EventUtil.addEventListener(document, "click", function(event) {
var menu = document.getElementById("menu");
menu.style.visibility = "hidden";
});
代码出现的EventUtil在这篇文章有介绍: 《js跨浏览器的事件侦听器和事件对象的使用方法》
以上就是本文的全部内容,教大家js调出上下文菜单的方法,希望对大家的学习有所帮助。