HTML-右键菜单

右键菜单实例

<!doctype html>

<html>

<head>

<!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<!--当前页面的三要素-->

<title>右键菜单</title>

<meta name="Keywords" content="关键词,关键词">

<meta name="description" content="">

<link rel="shortcut icon" href="images/pifu2.jpg">

<!--css,js-->

<style type="text/css">

*{margin:0;padding:0;}

img{border:0;}

body{font-size:12px;font-family:"微软雅黑";color:#666;background:url("images/pifu2.jpg") no-repeat;}

/*menu start*/

#menu{width:200px;background:#fff;box-shadow:1px 1px 30px #ccc;display:none;position:absolute;top:0;left:0; }

#menu ul li{height:36px;line-height:36px;border-bottom:1px solid #ddd;padding-left:10px;list-style:none;font-size:14px;font-weight:500;}

#menu ul li:hover{background:#666;color:#fff;}

/*end start*/

</style>

</head>

<body>

<!--menu start-->

<div id="menu">

<ul>

<li >添加应用</li>

<li >获取课程</li>

<li >添加笔记</li>

<li >刷新</li>

<li >上传资料</li>

<li >更换背景</li>

<li >注销</li>

</ul>

</div>

<!--end menu-->

<script type="text/javascript" src="js/jquery.min.js"></script>

<script type="text/javascript">

// 屏蔽浏览器自带的右键

document.oncontextmenu = function(){

return false;

}

//鼠标键按下监控

$(document).mousedown(function(e){

//获取鼠标按下的键值

var key = e.which;

if(key == 3){

//获取当前鼠标光标的坐标

var x = e.clientX;

var y = e.clientY;

//获取弹出菜单的宽度和高度

var menuwidth=$("#menu").width();

var menuheight=$("#menu").height();

//alert(menuwidth+"===========>>"+menuheight);

//获取浏览器可视宽度和高度

var clientHeight=getClientHeight();

var clientWidth=getClientWidth();

//判断当光标靠边时,防止弹出菜单溢出浏览器可视范围

if((x+menuwidth)>clientWidth){x=clientWidth-menuwidth-10;}

if((y+menuheight)>clientHeight){y=clientHeight-menuheight-10;}

//为menu菜单定位

$("#menu").show().css({top:y,left:x});

}

});

//鼠标点击任意浏览器区域菜单消失

$(document).click(function(){

//alert(0);

$("#menu").hide();

});

// 浏览器的可见高度

function getClientHeight() {

var clientHeight = 0;

if (document.body.clientHeight && document.documentElement.clientHeight) {

clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight;

} else {

clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight;

}

return clientHeight;

}

// 浏览器的可见宽度

function getClientWidth() {

var clientWidth = 0;

if (document.body.clientWidth && document.documentElement.clientWidth) {

clientWidth = (document.body.clientWidth < document.documentElement.clientWidth) ? document.body.clientWidth: document.documentElement.clientWidth;

} else {

clientWidth = (document.body.clientWidth > document.documentElement.clientWidth) ? document.body.clientWidth: document.documentElement.clientWidth;

}

return clientWidth;

}

//鼠标点击菜单选项添加事件

$("#menu li").click(function(){

var li_index=$(this).index();

alert($(this).text());

});

</script>

</body>

</html>

时间: 2024-11-05 21:56:15

HTML-右键菜单的相关文章

添加右键菜单

有时我们安装绿色版的软件常常是没有右键菜单的,但是对于一些常用的软件,我们需要添加右键菜单,添加方法,打开记事本,复制以下内容,按照自己的需要修改下所在软件的路径将txt另存为bat格式,双击即可: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\PotPlayer] @="Open with PotPlayer" "Icon"="E:\\Program Files (x86)

Duilib中为RichEdit\Edit控件添加自定义右键菜单

前言 Duilib中的RichEdit控件在使用中发现,基本上对复制.粘贴.剪切等快捷方式都是支持的,不过唯一缺点是没有右键菜单,感觉不够好,于是就想着加上右键菜单. 右键菜单基本思路是,在RichEdit的消息处理函数中对鼠标的右键消息处理,发送一个自定义的Notify消息出来,主窗口中受到这个消息后弹出自己的右键菜单. 实现方法 第一步:把鼠标右键消息转发出来 MessageHandler中修改原有代码 bool bWasHandled = true; if( (uMsg >= WM_MOU

使用arcengine开发程序右键菜单

ArcGIS Engine是ESRI在ArcGIS9版本才开始推出的新产品,它是一套完备的嵌入式GIS 组件库和工具库,使用ArcGIS Engine开发的GIS应用程序可以脱离ArcGIS Desktop而运行.让我们一起来看,右键菜单的设计与实现. 利用ArcGIS Engine开发自定义GIS应用程序中,一般有两种方式来建立右键菜单. 一是利用开发工具自带的右键菜单控件,如Visual Studio中的ContextMenuStrip控件: 二是利用ArcGIS Engine封装好的ITo

electron 创建右键菜单

1.引入模块 const Electron = require('electron'); const remote = Electron.remote; const Menu = remote.Menu; const MenuItem = remote.MenuItem; 2. data() { return { isShowMember:false, menu:null, } }, created() { this.targetId = this.id; notificationCenter.

Extjs 4.2 树结点右键菜单(全选,反选,撤销)

自己写的最新版本extjs4.2的树结点的操作,记录一下,以后可能会用到. var tree = new Ext.tree.TreePanel({ flex: 1, animate: true, autoScroll: true, anchor: '100% 93%', store: new Ext.data.TreeStore({ root:{ expanded: true, text:'A', children:[{ expanded: true, text:'1', children:[{

Arcengine 二次开发添加右键菜单

最近在搞arcengine 二次开发,遇到了好多问题,也通过网上查资料试着慢慢解决了,把解决的步骤记录下来,有需要帮助的可以看一下,也欢迎各位来批评指正. 想给自己的map application在图层上添加右键菜单,谷歌了一下,找到了解决的方法,原文的地址edndoc.esri.com/arcobjects/9.2/NET/1ED14BF2-A0E3-4e56-A70D-B9A7F7EC7880.htm.然后我根据这个添加了自己的右键菜单,又有一些改动. 效果如图所示(有点简陋),仅仅是简单的

Delphi中无边框窗体应用程序使任务栏右键菜单有效的方法

最近在Delphi开发中用到了无边框窗体显示时,无法在任务栏使用右键弹出菜单的情况,经过整理,通过以下方法可以使右键菜单出现: procedure Tfrm_Base.InitSysMenu;var  WindowStyle: Integer;begin  WindowStyle := GetWindowLong(Handle, -16);  WindowStyle := WindowStyle or WS_SYSMENU or WS_MINIMIZEBOX;  WindowStyle:=Win

自定义右键菜单

自定义右键菜单 技术一般水平有限,有什么错的地方,望大家指正. 自定义右键菜单,对于一些ERP系统,功能操作比较多,所以我们通常把常用的几个功能放在自定义的右键菜单里方便用户使用. 实现自定义菜单很简单,首先我们要屏蔽原始的右键菜单,自定义菜单出现在鼠标的位置,点击隐藏自定义菜单,过程就是这样的. *{margin:0;padding:0} a{text-decoration:none} ul li{list-style:none} .menu{border:1px solid black;bo

将Sublime Text2 加入右键菜单

原文地址:http://luyuwww.iteye.com/blog/1442328 将Sublime Text2 加入右键菜单方法: 1.  运行中输入 regedit 打开注册表 2.  在HKEY_CLASSES_ROOT/*/shell/ 下新建’项’ ,名称可修改,例如:Sublime Text 3.  在 Sublime Text 下 新建’项’ 名字:command (这个应该不可以修改) 4.  点击  command ,在右边的(默认),双击填入下面的值: D:\Program

添加右键菜单命令 在此处打开命令窗口(W)(带图标)

@color 0A @title 添加右键菜单命令 在此处打开命令窗口(W)(带图标) by wjshan0808 @echo off reg add HKCR\Directory\Background\shell\在此处打开命令窗口(W) /v Icon /t reg_expand_sz /d %ComSpec% /f reg add HKCR\Directory\Background\shell\在此处打开命令窗口(W)\command /ve /t reg_sz /d "%ComSpec%