• 一个调出上下文菜单的实例


    原理

      当用户点击右键时会触发一个contextmenu事件,默认会触发浏览器的默认的上下文菜单,通过手动阻止这个默认行为,然后再显示自定义的上下文菜单,当用户单击时隐藏这个菜单即可。

    代码

    html

     1 <div id="box" style="color:red; 100%;height:1000px;" >
     2      <div id="left" style="float:left;500px;margin-left: 50px;height:500px;background: #cdeddf;">
     3                 
     4      </div>        
     5      <div id="right" style="float:right;600px;margin-right: 50px;height:500px;background: #cdeaae;">
     6      </div>
     7         <ul id="menu" style="position: absolute;visibility: hidden;list-style: none;">
     8             <li>按钮1</li>
     9             <li>按钮2</li>
    10             <li>按钮3</li>
    11        </ul>
    12 </div>

    js

     1   // 添加contextmenu事件
     2     var right = document.getElementById("right");
     3     EventUtil.addEventListener(right, "contextmenu", function(event) {
     4         event = EventUtil.getEvent(event);
     5         EventUtil.preventDefault(event);
     6         var menu = document.getElementById("menu");
     7         
     8         // 获取鼠标右击时的坐标,并设置上下文菜单出现位置
     9         page = EventUtil.getPagePosition(event); 
    10         menu.style.left = page.pageX + "px";
    11         menu.style.top = page.pageY + "px";
    12         menu.style.visibility = "visible";
    13     });
    14     
    15     // 添加隐藏上下文菜单事件
    16     EventUtil.addEventListener(document, "click", function(event) {
    17         var menu = document.getElementById("menu");
    18         menu.style.visibility = "hidden";
    19     });

    PS:代码出现的EventUtil在”跨浏览器的事件侦听器和事件对象“这篇文章有介绍。链接:http://www.cnblogs.com/yuanke/p/5045821.html

  • 相关阅读:
    Solr4.2 新特性 DocValues [转]
    Facet with Lucene
    Lucene 4.8
    Lucene 4.3
    lucene 4.0
    美团搜索-搜索引擎关键字智能提示的一种实现[转]
    C# 多线程编程,传参,接受返回值
    C# WebService服务器搭建、发布、上线、调试
    无线网卡连接网络后共享给本地有线网卡使用(Win10)
    C# 创建Dll文件供程序调用方法
  • 原文地址:https://www.cnblogs.com/yuanke/p/5051163.html
Copyright © 2020-2023  润新知