最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

模拟windows平台的上下文菜单效果代码_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:58:16
文档

模拟windows平台的上下文菜单效果代码_javascript技巧

模拟windows平台的上下文菜单效果代码_javascript技巧:代码演示: 无标题文档 //= w) event.clientX - wrap.offsetLeft : event.clientX - wrap.offsetLeft - w; top = (event.clientY + h 单击右键看效果~ 撤销 重做 复制 粘贴 大小写转换 回车 拼写检查 新建 自定义 图形
推荐度:
导读模拟windows平台的上下文菜单效果代码_javascript技巧:代码演示: 无标题文档 //= w) event.clientX - wrap.offsetLeft : event.clientX - wrap.offsetLeft - w; top = (event.clientY + h 单击右键看效果~ 撤销 重做 复制 粘贴 大小写转换 回车 拼写检查 新建 自定义 图形


代码演示:

[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 <= y) ? event.clientY - wrap.offsetTop : event.clientY - wrap.offsetTop - h;
    menu.style.left = left + 'px';
    menu.style.top = top + 'px';
    });

    EventUnit.addHandler(document, 'click', function() {
    menu.style.display = menuStyle;
    });
    });

    文档

    模拟windows平台的上下文菜单效果代码_javascript技巧

    模拟windows平台的上下文菜单效果代码_javascript技巧:代码演示: 无标题文档 //= w) event.clientX - wrap.offsetLeft : event.clientX - wrap.offsetLeft - w; top = (event.clientY + h 单击右键看效果~ 撤销 重做 复制 粘贴 大小写转换 回车 拼写检查 新建 自定义 图形
    推荐度:
    标签: 技巧 Windows js
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top