一个轻量级的XHTML右键菜单[支持IE和firefox]
发布时间:2024-04-19 10:58:32
标签:一个轻量级的XHTML右键菜单[支持IE和firefox]
目前很多在网络上流传的右键菜单都不支持XHTML,主要就是因为document.body和document.documentElement之间的不同造成的
还有一个就是很多右键菜单程序太大,于是自己写了一个迷你型的右键菜单,支持IE和firefox
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>adad</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style>#rightMenu{ padding:2px; background-color:menu; cursor:default; position:absolute; z-index:900; border-right:1px solid #aaa; border-bottom:1px solid #aaa; border-top:1px solid #fff; border-left:1px solid #fff; font-size:14px; word-break:keep-all;}.menuItem{ display:block; padding:3px;}</style><script>/** *JRightMenu类,在浏览器里显示用户定制右键菜单 *[注意]:只适用于XHTML *@author brull *@email brull@163.com *@date 2007-01-24 *//** *@param menuItem 菜单显示内容,是一个数组 *@param handle 对应menuItem菜单的处理js代码段,同样是个数组 */JRightMenu=function (menuItem,handle){ var rightMenu=document.createElement("div"); var menuInnerHTML="";//菜单容器里的HTML内容 var $items=this.menuItem=menuItem; var $handle=this.handle=handle; rightMenu.id="rightMenu";//id for(var i in $items){ if($items[i].indexOf("<hr")!=-1) menuInnerHTML+=$items[i]; else menuInnerHTML+="" +$items[i] +""; } rightMenu.innerHTML=menuInnerHTML; rightMenu.style.visibility = "visible"; rightMenu.onmousedown=function(e){ e=e||window.event; document.all?e.cancelBubble=true:e.stopPropagation(); } rightMenu.onselectstart=function(){ return false; } document.body.appendChild(rightMenu); this.menu=rightMenu;//方便别的方法引用};JRightMenu.prototype.show=function(e){ e=e||window.event; var root=document.documentElement; var x = root.scrollLeft+e.clientX;//菜单左上角横坐标 var y = root.scrollTop+e.clientY;//菜单左上角纵坐标 if (this.menu.clientWidth+e.clientX > root.clientWidth){ x=x-this.menu.clientWidth; } if (this.menu.clientHeight+e.clientY > root.clientHeight){ y=y-this.menu.clientHeight; } this.menu.style.left = x+"px"; this.menu.style.top = y+"px"; this.menu.style.visibility = "visible"; return false;}JRightMenu.prototype.hidden=function() { this.menu.style.visibility = "hidden";}</script><script>window.onload=function(){rightMenu=new JRightMenu(["it’s mine!","it’s yours!"],["alert(’it is mine!’)","alert(’it is yours!’)"]);}document.oncontextmenu=function(evt){return rightMenu.show(evt);};document.onclick=function(){rightMenu.hidden();}</script></head><body><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p><p>adadad大王大王</p>awdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</body></html>


猜你喜欢
- 在TensorFlow中,tf.train.exponential_decay函数实现了指数衰减学习率,通过这个函数,可以先使用较大的学习率
- numpy.linalg.norm函数的使用1、linalg = linear(线性)+ algebra(代数),norm则表示范数。首先需
- 本文实例讲述了Python单元测试与测试用例。分享给大家供大家参考,具体如下:单元测试与测试用例简介测试用例是一组单元测试,这些单元测试一起
- 代码如下所示:$num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 &n
- 最近遇到了一个下载静态html报表的需求,需要以提供压缩包的形式完成下载功能,实现的过程中发现相关文档非常杂,故总结一下自己的实现。开发环境
- 看到标题就知道有逗比忘了密码。。。没错就是我。你也忘了密码? 不要着急!0x00:第一步:运行django shellpython3 man
- SOCKET编程socket(套接字):是一个网络通信的端点,能实现不同主机的进程通信, -通过IP+端口定位对方并发送消息的通信机制分为U
- 有时候我们需要在程序里执行一些cmd命令,使用os或者其它模块中的popen方法去执行这个问题一般是程序内有输入导致的,这个输入可以是inp
- 本文实例为大家分享了vue-week-picker实现按周切换的日历的具体代码,供大家参考,具体内容如下vue-week-picker安装n
- 需求描述标准网关动态路由功能是重要的一环,将路由、断言以及过滤器信息,持久化到 Mysql 中,通过配置后台页面实现路由、断言、以及过滤器等
- 认为整理的还比较详细的,亲们,就快点收藏起来吧!PHP系统类函数assert函数:检查assertion声明是否错误extension_lo
- 一、决策树原理概述1.决策树原理决策树的分类原理,相当于程序中的if-then结构,通过条件判断,来决定结果。2.信息论①信息熵假设有32支
- 前言GraphQL是一种新的API设计语言,它提供了更加灵活、高效的API查询方式。与RESTful API相比,GraphQL可以更好地满
- 本文主要介绍了vscode插件听网易云的实现,具体如下:当真正的听到了我本人的我喜欢的歌单里的歌时,惊呆了老铁,所以我此时此刻用激动的心颤抖
- 两个进程发生死锁的典型例子是:进程T1中获取锁A,申请锁B;进程T2中获取锁B,申请锁A,我们下面动手来演示一下这种情况:1. 创建一个Da
- 一.图像点运算概念图像点运算(Point Operation)指对于一幅输入图像,将产生一幅输出图像,输出图像的每个像素点的灰度值由输入像素
- 前言最近使用PyTorch感觉妙不可言,有种当初使用Keras的快感,而且速度还不慢。各种设计直接简洁,方便研究,比tensorflow的臃
- 前言本文将介绍Java正则表达式中的Pattern类与Matcher类。首先我们要清楚指定为字符串的正则表达式必须首先被编译为pattern
- vue框架移动端做ip输入框组件,input在浏览器和微信端兼容问题。要求:只能输入数字,输入数字以外的字符(包括点、冒号等数字符号)时自动
- NTP(Network Time Protocol)是由美国德拉瓦大学的David L. Mills教授于1985年提出,设计用来在Inte