`

javascript自定义右键菜单

阅读更多
<title>右键菜单v1.0</title>
<style>
body { font-family:Verdana;font-size:11px;background-color:#D6D3CE;}
#menu { position:absolute;border: 2px outset threedhighlight;background-color:inactiveborder;padding:2px;width:180px;visibility:hidden;}
.item { padding:2px;width:100%;cursor:default;border:1px solid inactiveborder;}
.item img { vertical-align:middle;margin-right:10px;}
.item span { visibility:hidden;width:21px;height:12px;}
.line { border-top:1px solid #848284;border-bottom:1px solid white;margin:2px;}
</style>
<body>
<SCRIPT LANGUAGE="JavaScript">
document.oncontextmenu = function() {showMenu();return false;}
document.onmouseup = function() {hiddenMenu();}
document.onselectstart = function() {return false;}
//system variable
var menuOpened = false;
//user variable
var oWhere = document.body;
var menu = document.createElement("div");
addItem("http://www.sayee.com/cloudchen/js/rightmenuimg/forward.gif","下一页","history.forward()",1);
addItem("http://www.sayee.com/cloudchen/js/rightmenuimg/back.gif","上一页","history.back()",1);
addItem("","刷新","history.go(0)",1);
addItem("","查看源文件","location.href='view-source:'+location.href",1);
addLine()
addItem("","我的主页","window.open('http://piggydesign.yeah.net')",1);
addItem("","我的网页日历","window.open('http://www.sayee.com/cloudchen/js/myCalendar.htm')",1);
addItem("","模拟列表框","window.open('http://www.sayee.com/cloudchen/js/simulation_select.htm')",1);
addLine()
addItem("","打印","window.print()",1);
addItem("","打印预览","document.all.WebBrowser.ExecWB(7,2)",1);
addLine()
addItem("","属性","document.all.WebBrowser.ExecWB(10,2)",1);
oWhere.appendChild(menu);
menu.id="menu";
menu.onmouseup = function() {event.cancelBubble=true;}
//addItem
function addItem(img,text,href,type) {
var item = document.createElement("div");
menu.appendChild(item);
if(img){item.innerHTML = "<img src="+img+">"}else{item.innerHTML = "<span></span>"};
if(text)item.innerHTML += text;
if(href)item.onmouseup = function() { clickGo(href,type)}
item.onmouseover = function() { mouseoverState(this)}
item.onmouseout = function() { mouseoutState(this)}
item.className="item";
}
function mouseoverState(obj) {
with(obj.style) {
border="1px solid #08246B";
backgroundColor="#9496AD"
}
}
function mouseoutState(obj) {
with(obj.style) {
border="1px solid inactiveborder";
backgroundColor="";
}
}
function clickGo(href,type) {
hiddenMenu();
switch(type) {
case 0:location.href=href;break;
case 1:javascript:eval(href);break;
}
}
//addLine
function addLine() {
line = document.createElement("div")
line.className = "line";
menu.appendChild(line);
}function showMenu() {
if(menuOpened) return false;
menuOpened = true;
var menu = document.all.menu;
with(menu.style) {
visibility="visible";
if(event.clientX+menu.offsetWidth>document.body.offsetWidth)
pixelLeft=event.clientX-menu.offsetWidth;
else
pixelLeft=event.clientX;
if(event.clientY+menu.offsetHeight>document.body.offsetHeight)
pixelTop=event.clientY-menu.offsetHeight;
else
pixelTop=event.clientY;
}

}
function hiddenMenu() {
if(!menuOpened) return false;
menuOpened = false;
var menu = document.all.menu;
with(menu.style) {
visibility="hidden";
}
}
</SCRIPT>
<object classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id="WebBrowser" width="0" height="0">
</object>
自定义右键菜单v.10
<UL>
<LI>功能简单,使用方便
<LI>支持图片、链接、javascript函数
<LI>界面摹仿Acrobat Reader6.0
<LI>功能陆续完善中。。。
<LI>作者:cloudchen
<LI>创建日期:2003/8/25
</UL>
分享到:
评论

相关推荐

    自定义右键菜单效果

    实现自定义右键菜单主要依赖于JavaScript,这是一种广泛使用的客户端脚本语言,用于控制网页的行为。通过监听鼠标事件,如`contextmenu`(右键点击),我们可以阻止浏览器显示默认菜单,然后动态创建并显示我们自己...

    高德地图实现绘制覆盖物,自定义右键菜单

    本项目聚焦于利用高德地图js-api实现绘制覆盖物,以及自定义右键菜单的功能。 首先,我们来探讨“绘制覆盖物”这一概念。在高德地图API中,覆盖物是指可以在地图上绘制的各种图形,如点、线、面等。在这个项目中,...

    vue自定义右键菜单 -vue2版

    vue自定义右键菜单 -vue2版 vue自定义右键菜单 js右键菜单

    禁止鼠标右键及svg中自定义右键菜单

    总结起来,禁止鼠标右键和在SVG中自定义右键菜单涉及到JavaScript事件处理和DOM操作。通过监听`contextmenu`事件并调用`preventDefault()`方法,可以阻止浏览器的默认右键菜单。而在SVG中,我们可以结合CSS和...

    【JavaScript源代码】Vue+element-ui添加自定义右键菜单的方法示例.docx

    ### Vue + Element UI 添加自定义右键菜单的知识点解析 #### 一、概述 本文将详细介绍如何在基于Vue.js框架的项目中结合Element UI库,实现一个简单的自定义右键菜单功能。通过以下步骤,您将了解到从创建绑定事件...

    JS自定义右键菜单

    通过以上讲解,我们了解了如何使用JavaScript自定义右键菜单,以及如何扩展至多级菜单。这只是一个基础的实现,实际开发中可能需要结合具体需求进行优化和扩展。希望这个教程对你有所帮助,让你能够创建出符合项目...

    echarts组织结构图及自定义右键菜单

    在本文中,我们将深入探讨如何使用ECharts 2.2.7版本实现组织结构图(Tree)以及自定义右键菜单,以帮助你更好地理解和应用这一功能。 首先,组织结构图在ECharts中是一种层次结构数据的展示方式,常用于表示公司、...

    【JavaScript源代码】vue添加自定义右键菜单的完整实例.docx

    以下是使用Vue实现自定义右键菜单的详细步骤: 1. **事件监听**: 在Vue组件的模板中,你需要找到需要添加右键菜单的元素,并绑定`@contextmenu.prevent`事件。这个事件会阻止浏览器默认的右键菜单弹出。例如,在...

    js自定义右键菜单

    在JavaScript(JS)中,自定义右键菜单是一项常见的需求,尤其在开发Web应用程序时,为了提供更加个性化和功能丰富的用户体验。默认情况下,浏览器提供的右键菜单只包含基本的选项,如“复制”、“粘贴”等。通过...

    右键菜单(javaScript)

    IE右键菜单通常包括诸如“复制”、“粘贴”、“保存图片为”等常见功能,而使用JavaScript,开发者可以自由设计类似这样的菜单项,并根据需要添加更多自定义选项。 JavaScript是一种广泛应用于Web开发的脚本语言,...

    flex自定义右键菜单 完全屏蔽

    标题提到的"flex自定义右键菜单 完全屏蔽"是指在Flex应用程序中,不仅实现对默认右键菜单的完全屏蔽,还允许开发者根据自己的需求创建并应用自定义的右键菜单。这种方法避免了使用JavaScript进行跨域通信来实现屏蔽...

    spreadjs_自定义右键菜单-demo.zip

    《SpreadJS 自定义右键菜单实现详解》 SpreadJS 是一款功能强大的 HTML5 表格控件,它提供了丰富的功能,使用户能够在浏览器中创建、编辑和显示电子表格。在这个"spreadjs_自定义右键菜单-demo.zip"压缩包中,我们...

    javascript自定义右键菜单插件

    总的来说,JavaScript自定义右键菜单插件提供了一种简单易用的方式,让开发者能够方便地创建和控制网页上的右键菜单,满足各种定制化需求。通过理解其工作原理和提供的API,你可以轻松地将这种功能集成到自己的项目...

    jQuery自定义右键弹出菜单代码

    本项目“jQuery自定义右键弹出菜单代码”就是利用jQuery来实现一种类似于电脑桌面的右键菜单功能,当用户在网页上右击鼠标时,会弹出一个具有多种选项的下拉菜单,提供了良好的用户体验。 首先,我们要了解jQuery的...

    Asp.net2.0创建自定义右键菜单控件源码

    在Asp.net2.0开发中,自定义右键菜单控件是一个常见的需求,它可以为用户提供更加便捷的操作体验。这个源码示例提供了一个实现这一功能的方法,适用于各种Web控件,如DataGrid、ListView等。下面将详细介绍如何在Asp...

    自定义右键菜单javascript+div

    自定义右键菜单javascript+div,有详细注释,方便各位程序员修改,css可以随意修改方便大家个性化菜单。

    jQuery实现自定义右键菜单的树状菜单效果

    综上所述,通过使用jQuery库中的各种功能,结合CSS样式和JavaScript逻辑控制,我们可以实现一个功能完善、用户体验良好的自定义树状右键菜单。这不仅可以增加用户交互的便利性,也为页面增添了额外的功能性和视觉...

    javascript自定义右键弹出菜单实现方法.docx

    在Web开发中,为了提升用户体验与功能多样性,自定义右键菜单是一种常见的交互方式。本文将详细解析如何利用JavaScript来实现一个简单的自定义右键弹出菜单,并深入探讨其中涉及的关键技术点。 #### 实现原理 在...

    JS自定义右键菜单实现代码解析

    但有时为了满足特定的交互需求,我们需要通过JavaScript自定义右键菜单。自定义右键菜单允许开发者提供更加丰富和个性化的菜单选项,以增强用户体验。 实现自定义右键菜单的原理是利用JavaScript中的`contextmenu`...

Global site tag (gtag.js) - Google Analytics