JavaScript模拟鼠标右键菜单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>右键菜单</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        #menu{
            width: 254px;
            /*background-color: #ccc;*/
            font-size: 12px;
            position: fixed;
            top: 0px;
            left: 0px;
            /*height: 240px;*/
            /*padding-left: 26px;*/
            padding-top: 2px;
            border:1px solid #ccc;
            display: none;
        }
        #menu li{
            list-style: none;
            line-height: 25px;
            margin-left: -1px;
            padding-left: 26px;
        }
        #menu li:hover{
            background-color: #4281f4;
            color: #fff;
        }
    </style>
</head>
<body>
     <ul id="menu">
          <li>返回(B)</li>
          <li>前进(F)</li>
          <li>从新加载(R)</li>
          <li>另存为(A)</li>
          <li>打印(P)</li>
          <li>查看网页源代码(V)</li>
          <li>查看网页信息(I)</li>
          <li>审查元素(N)</li>
     </ul>
     <script type="text/javascript">
       var menu = document.getElementById("menu");

       document.oncontextmenu =function(e){
            var e = e ||window.event;//兼容
         console.log(e.clientX,e.clientY);
         console.log(e);
         //单击显示div
         menu.style.display = "block";
         //设置定义
         //判断鼠标坐标是否大于视口宽度-块本身宽度
         var cakLeft = (e.clientX > document.documentElement.clientWidth - menu.offsetWidth)?(document.documentElement.clientWidth - menu.offsetWidth):e.clientX;
         var cakTop = (e.clientY > document.documentElement.clientHeight - menu.offsetHeight)?(document.documentElement.clientHeight - menu.offsetHeight):e.clientY;
         menu.style.left = cakLeft + "px";
         menu.style.top = cakTop + "px";

        return false;
       }

           menu.onclick = function(e) {
        var e = e || window.event;
        e.cancelBubble = true;
        //阻止冒泡。
    }
      document.onclick = function() {
        menu.style.display = "none";
    }

     </script>
</body>
</html>
时间: 2024-11-05 16:30:32

JavaScript模拟鼠标右键菜单的相关文章

javascript 自定义鼠标右键菜单

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style> #menu{ border:solid 1px gray; width:100px; display:none; position:absolute; background-color:ghostwhite; margin: 0; padding:

JavaScript 自定义html元素鼠标右键菜单

自定义html元素鼠标右键菜单 实现思路 在触发contextmenu事件时,取消默认行为(也就是阻止浏览器显示自带的菜单),获取右键事件对象,来确定鼠标的点击位置,作为显示菜单的left和top值 编码实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> window.onload = function(){ var menu = document.

OpenLayers 3 之 添加地图鼠标右键菜单

添加右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu,当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 contextmenu 事件的回调函数中实现相应的显示菜单功能即可. 那么在 openlayers 中,在地图中添加这个事件,我们从哪里下手呢?首先我们得了解 openlayers 的初始化页面的过程. openlayers 初始化页面过程 openlayers 也是一个前端库,那么它肯定离不开 html 的运用

禁止按键F5和禁止鼠标右键菜单 js代码

<script language="javascript"> //禁止按键F5 document.onkeydown = function(e){ e = window.event || e; var keycode = e.keyCode || e.which; if( keycode = 116){ if(window.event){// ie try{e.keyCode = 0;}catch(e){} e.returnValue = false; }else{// f

JS捕获鼠标右键菜单中的粘贴时间

常用的Ctrl+V按键的监听: 1 $(document).keydown(function(e){ 2 if( e.ctrlKey == true && e.keyCode == 86 ){ 3 console.log('Ctrl+V'); 4 return false; 5 } 6 }); 而对于鼠标右键菜单的粘贴: 1 $("#input").bind('paste', function(e) { 2 var el = $(this); 3 setTimeout(

向鼠标右键菜单增加菜单项

下了个别人集成好各种插件的Sublime Text 3编辑器,由于没有右键菜单“Edit with Sublime_text”感觉很不方便,就上网百度了下,把方面记录下!~ REGEDIT4 [HKEY_CLASSES_ROOT\*\Shell\Edit with Sublime_text] [HKEY_CLASSES_ROOT\*\Shell\Edit with Sublime_text\Command] @="E:\\Sublime Text 3\\sublime_text.exe \&qu

JavaScript屏蔽鼠标右键

JavaScript屏蔽鼠标右键还可以在body标签里加上oncontextmenu= self.event.returnvalue=false 或者: function nocontextmenu(){ if(document.all) { event.cancelBubble=true; event.returnvalue=false; return false;http://www.mlybyby.com }} 或者: 另外 oncontextmenu="window.event.retu

自定义菜单鼠标右键菜单打开选项

//将你想要添加到鼠标邮件的应用添加进来., 自动为Notepad增加鼠标右键菜单的打开选项 将下面的内容保存到bat批处理文件,然后将文件放到Notepad++.exe所在目录,双击运行即可. 文件内容: @echo off TITLE 自动为Notepad增加鼠标右键菜单的打开选项 cls color 0B echo 可按需要修改执行文件变量即可,目录路径会自动获取 echo 自动生卸载文件,方便不用的时候可以清除加入的注册表内容 ping 127.1 -n 3 >nul rem TheEx

将Sublime Text 添加到鼠标右键菜单的教程方法

安装notepad++软件,在菜单右键自动会添加“edit with notepad++"的选项,那么怎么将Sublime Text 添加到鼠标右键菜单呢?下面是我的操作过程,希望有帮助! 1.win+R打开cmd窗口,输入regedit,打开注册表 2.依次找到HKEY_CLASSESS_ROOT->*->Shell,下面新建项,命名为Edit with Sublime Text3. 3.在项“Edit with Sublime Text”下新建字符串值,命名为Icon,值为 E: