许多从事Web开发的会发现有些事,我们需要禁用浏览器本事自带的右键菜单,而实现自定义的右键菜单 下面我们也来实现一个自定义的右键菜单

首先来创建JSP页面

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  2 <html>  3 <head>  4 <title>右键菜单</title>  5 <script src="js/jquery.min.js"></script>  6 </head>  7 <link rel="stylesheet" type="text/css" href="css/demo.css">  8 <link rel="stylesheet" type="text/css" href="css/context.standalone.css">  9 <script src="js/context.js"></script> 10 <script src="js/demo.js"></script> 11 <body> 12 <div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';"></div> 13 </body> 14 </html>

这里来控制一个文本区域内浏览器自带的右键菜单禁用,使用自定义菜单

  1 /**
  2  *@ trimmer Visec·Dana
 3  *@ time 2014-7-23  4  **/  5 var context = context || (function () {  6 var options = {  7 fadeSpeed: 100,  8  filter: function ($obj) {  9  },  10 above: 'auto',  11 preventDoubleContext: true,  12 compress: false  13  };  14  15  function initialize(opts){  16 options = $.extend({}, options, opts);  17 $(document).on('click', 'html', function () {  18 $('.dropdown-context').fadeOut(options.fadeSpeed, function(){  19 $('.dropdown-context').css({display:''}).find('.drop-left').removeClass('drop-left');  20  });  21  });  22 if(options.preventDoubleContext){  23 $(document).on('contextmenu', '.dropdown-context', function (e) {  24  e.preventDefault();  25  });  26  }  27 $(document).on('mouseenter', '.dropdown-submenu', function(){  28 var $sub = $(this).find('.dropdown-context-sub:first'),  29 subWidth = $sub.width(),  30 subLeft = $sub.offset().left,  31 collision = (subWidth+subLeft) > window.innerWidth;  32 if(collision){  33 $sub.addClass('drop-left');  34  }  35  });  36  37  }  38  39  function updateOptions(opts){  40 options = $.extend({}, options, opts);  41  }  42  43  function buildMenu(data, id, subMenu){  44 var subClass = (subMenu) ? ' dropdown-context-sub' : '',  45 compressed = options.compress ? ' compressed-context' : '',  46 $menu = $('<ul class="dropdown-menu dropdown-context' + subClass + compressed+'" id="dropdown-' + id + '"></ul>');  47 var i = 0, linkTarget = '';  48 for(i; i<data.length; i++){  49 if (typeof data[i].divider !== 'undefined'){  50 $menu.append('<li class="divider"></li>');  51 } else if (typeof data[i].header !== 'undefined'){  52 $menu.append('<li class="nav-header">' + data[i].header + '</li>');  53 } else {  54 if (typeof data[i].href == 'undefined'){  55 data[i].href = '#';  56  }  57 if (typeof data[i].target !== 'undefined'){  58 linkTarget = ' target="'+data[i].target+'"';  59  }  60 if (typeof data[i].subMenu !== 'undefined'){  61 $sub = ('<li class="dropdown-submenu"><a tabindex="-1" href="' + data[i].href + '">' + data[i].text + '</a></li>');  62 }else{  63 $sub = $('

转载于:https://www.cnblogs.com/jameslif/p/4119296.html

自定义右键菜单,禁用浏览器自带的右键菜单[右键菜单实现--Demo]相关推荐

  1. 浏览器自带开发工具你知道多少?

    常规 找到开发工具 快捷方式: "F12"(Windows) "Cmd"⌘ +"Option" +"I"(Mac) 右键 ...

  2. 浏览器自带的禁用端口

    浏览器自带了一些禁用端口,使用了的话会禁止访问. Google Chrome浏览器与Edge浏览器会报  "ERR_UNSAFE_PORT" Firefox浏览器会报: " ...

  3. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单

    本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置. 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这 ...

  4. html模板(base标签,meta标签,禁用浏览器缓存)+JSP自定义标签荔枝

    [1]html模板 <html> <head><!-- base标签表示uri相对路径的基准路径 --><base href="http://loc ...

  5. php微信浏览器自带后退功能禁用,jquery如何实现禁用浏览器后退

    jquery实现禁用浏览器后退的方法:首先打开相应的js文件:然后通过"jQuery(document).ready(function () {...}"方法禁用浏览器的back和 ...

  6. tomcat开机自启动--》自动打开浏览器,打开系统首页--》浏览器默认全屏,禁用浏览器缩放、手势、左右滑动

    1.tomcat开机自启动 (1)加入系统启动项或系统计划任务 (2)建系统服务,设置服务为开机自启动 (windows)   命令行进入tomcat bin 文件夹 service.bat inst ...

  7. VBS操作IE ---(【当不使用IE时】可以使用Chrome插件,自定义JS插件操作浏览器)

    目录 ■前言 ■举个简单VBS操作IE的例子 --- ■如何让IE打开是IE,而不是Edge ■其他更多VBS相关 ・更多操作一览 ・按键 shift ctrl alt ・打开图片,以幻灯片形式显示 ...

  8. 一招解决windows电脑禁用笔记本自带键盘问题

    背景 这段时间,笔记本上总会出现卡顿,鼠标跳跃,桌面闪烁的问题,坚持用了一周之后,情况变的严重了,打开我的电脑,可以弹出很多个窗口出来,导致系统卡死,偶尔能用,我就根据自己对电脑的了解尝试了做下修复 ...

  9. 移动端屏幕适配和css美化浏览器自带的滚动条

    一.css美化浏览器自带的滚动条: 浏览器自带的滚动条显示不太美观,我们可以调css样式来美化一下.了解以下浏览器(webkit内核)滚动条自带伪类样式: ::-webkit-scrollbar:针对 ...

最新文章

  1. mycat mysql好可用架构_想要学会MyCat高可用集群搭建,但是这些知识点却还玩不明白?...
  2. pytorch torch.nn.MSELoss(size_average=True)(均方误差【损失函数】)Mean Squared Error(MSE)、SSE(和方差)
  3. android 6.0动态权限的申请
  4. 李浩:无限节点的CDN架构演进
  5. JS中函数的prototype属性和对象的__proto__属性
  6. dbnetlib sqlserver不存在或拒绝访问_部署IIS+PHP+SQL server环境
  7. 宏晶STC单片机使用STC-ISP串口烧录失败的解决方法及实例汇总 (Ver0.99.16)
  8. APP开发接口分类介绍
  9. 动态规划-自底向上的 0-1 背包问题
  10. Win10 KeilC51-C251-ARM共存方法
  11. java中的extends与implement
  12. 水星怎么设置网速最快_设置水星无线路由器限制网速的实现方法
  13. 南大软院21天学霸养成计划—第6天
  14. html跑车模板,html5代码画兰博基尼跑车,6不6?
  15. 特大通知!!!CSDN和简书博客以后同步更新
  16. UE4蓝图实现景深模糊效果
  17. 使用二维激光雷达和cartographer_ros实现实时SLAM
  18. ‘node‘ 不是内部或外部命令
  19. Fishman的渔人码头 - Fishman - 新浪BLOG
  20. Allegro·芯片GND引脚铺铜问题及解决方案)

热门文章

  1. UI设计师分析用户的常用方法
  2. Java8新特性_接口中的默认方法
  3. Kubernetes之Pod调度
  4. centos mysql 安装及配置
  5. eclipse插件本地扩展安装
  6. MSSQL 触发器 暂停 和 启动
  7. Hibernate征途(三)之CRUD
  8. 使用git管理自己的代码--简单使用流程
  9. Ubuntu Linux服务器安装Hadoop并配置伪分布式
  10. fabric8 java api,kubectl apply -f equivalent in fabric8 java api | 易学教程