一个轻量级的XHTML右键菜单[支持IE和firefox]

目前很多在网络上流传的右键菜单都不支持XHTML,主要就是因为document.body和document.documentElement之间的不同造成的

还有一个就是很多右键菜单程序太大,于是自己写了一个迷你型的右键菜单,支持IE和firefox

adad

#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;

}

/**

*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("


"

+$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";

}

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();}

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

adadad大王大王

awdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 一个轻量级的XHTML右键菜单[支持IE和firefox]

    目前很多在网络上流传的右键菜单都不支持XHTML,主要就是因为document.body和document.documentElement之间的不同造成的 还有一个就是很多右键菜单程序太大,于是自己写了一个迷你型的右键菜单,支持IE和firefox adad #rightMenu{ padding:2px; background-color:menu; cursor:default; position:absolute; z-index:900; border-right:1px solid #

  • Unity扩展Hierachry的右键菜单

    游戏制作到一定阶段后,一定会出现一些GameObject的"模板".比如一个敌人一定会有一个"Enemy Behaviour"."Box Collider"等.虽然Prefab可以用来作为"预制件",但是Prefab产生的物体和Prefab自身有关联,同时还要从Project菜单里去找到Prefab再拖出来. 一个解决方案是扩展编辑器菜单,就像右键Hierachry时出现的3D Object.2D Object一样.可以创造G

  • 支持IE6 IE7 Firefox 的纯CSS的下拉菜单

    纯CSS的下拉菜单 支持IE6 IE7 Firefox *{margin:0;padding:0;} .menu{font-size:12px;position:relative;z-index:100;} .menu ul{list-style:none;} .menu li {float:left;position:relative;} .menu ul ul {visibility:hidden;position:absolute;left:3px;top:23px;} .menu tab

  • 支持ie与FireFox的剪切板操作代码

    复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>支持ie与FireFox的剪切板代码</title> <script type="text/javascript"> function setCopy(_sTxt){ try{ if(window.clipboardData){ window.clipboardData.

  • JS使用iView的Dropdown实现一个右键菜单

    前言 前段时间在用iView做个项目,其中需要使用自定义的右键菜单,然后去官网找了一下,发现有个Dropdown的组件,便想着能不能用来做个右键菜单的组件 你可能需要对iView有一定的使用经验 尝试 Dropdown的使用大概是这个样子 <template> <Dropdown> <a href="javascript:void(0)" rel="external nofollow" > 下拉菜单 <Icon type=&

  • 一个轻量级的javascript库 pj介绍

    相对于其他语言来说,javascript脚本语言太小巧玲珑了,活泼灵动.个人非常喜欢写javascript代码.虽说网络上出名的javascript库充斥网络,jQuery.Prototype.Base.ExtJs--,功能也非常强大,使用起来也方便.但是有一个不太令人满意的地方,就是库本身太大了.有时只是用其中几个功能就必须得把整个库引进来,就jQuery来说,压缩了也还有70多KB,有时比一个网页文件还大.但我们有需要一个库来协助开发,所以自己就写了一个轻量级的javascript库,只支持

  • JS实现的自定义右键菜单实例二则

    本文实例讲述了JS实现的自定义右键菜单.分享给大家供大家参考.具体如下: 示例1: 运行效果截图: 具体代码如下: <!DOCTYPE html> <html> <head> <title>JS实现自定义右键菜单</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script src=&

  • JS组件Bootstrap ContextMenu右键菜单使用方法

    今天来总结下bootstrap的一个小组件的应用.好了,不说废话,进入正题吧. 一.ContextMenu介绍 一个需求:表格行调序,支持多选调序,并且可以不连续多选.什么意思呢?先来看看需要实现的效果图: 需求是:需要将选中的6.8.9行移动到第2行和第3行之间.撇开业务不说,单纯从技术层面来说,要想使用最少操作达到上述效果,博主想到了右键功能,如果能够在第2行或者第3行上面点击鼠标右键,通过右键菜单功能将选中的行移动到相应的位置,这样是不是最简单呢.说做咱就做,于是找组件,搜索"bootst

  • 使用contextMenu插件实现Bootstrap table弹出右键菜单

    如今Bootstrap这个前端框架已被许多人接受并应用在不同的项目中,其中"开发高效,设备兼容"的特点表现得非常明显.再加上它默认的美观的UI组件,简直就是很多前端的大爱啊!!! 今天在这里跟大家分享Bootstrap table弹出右键菜单的实现方法. 最近遇到有一个需求,需要在Bootstrap table上使用右键.网上搜了半天没有找到,最后发现Bootstrap table不支持右键(官方文档给出的答案 https://github.com/wenzhixin/bootstra

  • dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法

    在以前的一个公司内部管理系统(InnerOA)中,对于目录树的构造我采用的是dTree,实现无限级目录显示及右键菜单功能(右键菜单中包括:新建.修改.共享.删除.刷新等功能,如下图所示) 关于公司内部管理系统(InnerOA)中目录树的一些知识以后有时间将整理并提供源码. 但是dTree唯一遗憾的是不支持拖拽排序功能,这让我在完成InnerOA之后心里一直纠结的问题.在网上查看关于目录树的一些内容,dTree是我目前认为最符合我项目的一个.在一个偶然机会,发现了另一个强大的目录树,也就是本文所说

随机推荐