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


    原理

      当用户点击右键时会触发一个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

  • 相关阅读:
    Android Interactive Animation
    Android 笔记
    java 从零开始 第三天
    RGB颜色查询对照表
    Android TextView文字过多时通过滚动条显示多余内容
    Android系统字体规范
    Android 动画之TranslateAnimation应用详解
    Python--day69--ORM的F查询和Q查询
    Python--day69--ORM聚合查询和分组查询
    Python--day69--ORM正反向查找(外键)
  • 原文地址:https://www.cnblogs.com/yuanke/p/5051163.html
Copyright © 2020-2023  润新知