代码演示:
无标题文档 单击右键看效果~
撤销 重做 复制 粘贴 大小写转换 回车 拼写检查 新建 自定义 图形选项 关闭
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
结构:
复制代码 代码如下:
撤销
重做
复制
粘贴
大小写转换
回车
拼写检查
新建
自定义
图形选项
关闭
code是这样:
复制代码 代码如下:
function $(id) {
return document.getelementbyid(id);
};
var eventunit = {
addhandler: function(element, type, handler) {//添加事件处理程序
if(element.addeventlistener) {
element.addeventlistener(type, handler, false);
} else if(element.attachevent) {
element.attachevent('on' + type, handler);
} else {
element['on' + type] = handler;
};
},
getevent: function(event) {
return event ? event : window.event;
},
preventdefault: function(event) {//取消事件默认动作
if(event.preventdefault) {
event.preventdefault();
} else {
event.returnvalue = false;
};
}
}
eventunit.addhandler(window, 'load', function() {
var wrap = $('wrap');
var menu = $('menu');
var menustyle = menu.style.display;
var x = wrap.offsetleft + wrap.clientwidth, y = wrap.offsettop + wrap.clientheight;
var w = 0, h = 0;
var left = 0, top = 0;
eventunit.addhandler(wrap, 'contextmenu', function(event) {
event = eventunit.getevent(event);
eventunit.preventdefault(event);
menu.style.display = 'block';
w = menu.clientwidth;
h = menu.clientheight;
left = (x - event.clientx >= w) ? event.clientx - wrap.offsetleft : event.clientx - wrap.offsetleft - w;
top = (event.clienty + h menu.style.left = left + 'px';
menu.style.top = top + 'px';
});
eventunit.addhandler(document, 'click', function() {
menu.style.display = menustyle;
});
});