jQuery自定义Web页面鼠标右键菜单

右键菜单是固定的,很多时候,我们需要自定义web页面自定义菜单,指定相应的功能。

  自定义的原理是:jQuery封装了鼠标右键的点击事件(“contextmenu”),首先屏蔽浏览器原始的点击事件,接着,写自己的需要的显示的右键菜单最后,就是什么时候隐藏显示出的右键菜单了。

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
<title>jQuery制作Web页面鼠标右键美化菜单</title>

<style type="text/css">
body{ position:relative;}
ul,li{ margin:0; padding:0; list-style:none; font-size:12px;}
.split{border-bottom: 1px solid gray;}
.popup_menu{position:absolute; z-index:90; border:1px solid #AEAEAE; padding:2px; width:120px;border-radius: 2px;}
.popup_menu a{ display:block; color:#325B8E; text-indent:12px; text-decoration:none; height:26px; line-height:25px; padding-right:5px;}
.popup_menu a:hover{ background:#57B4E4; color:#fff; border-radius: 2px;}
</style>
</head>
<body>
<script type="text/javascript">
var kyPopupMenu={};
kyPopupMenu = (function(){
    return {
        right: function (obj) {
            $(‘.popup_menu‘).remove();
            var menu = ‘<div class="popup_menu app-menu"><ul><li><a url="http://www.cnblogs.com/mini-firework/">firework</a></li><li class="split"></li><li><a url="http://blog.csdn.net/e_real">疯狂的土豆专栏</a></li><li><a url="http://blog.163.com/qiuyg_yc_it/">网易博客</a></li></ul></div>‘;
            popupMenuApp = $(menu)
            .find(‘a‘).attr(‘href‘,‘javascript:;‘)
            .end().appendTo(‘body‘);
            //绑定事件
            $(‘.app-menu a‘).on(‘click‘, function (){
                window.location.href=$(this).attr("url");
            });
            return popupMenuApp;
        }
    };
})();
//取消右键
$(‘html‘).on(‘contextmenu‘, function (){return false;}).click(function(){
    $(‘.popup_menu‘).hide();
});
//桌面点击右击
$(‘html‘).on(‘contextmenu‘,function (e){
    var popupmenu = kyPopupMenu.right();
      l = ($(document).width() - e.clientX) < popupmenu.width() ? (e.clientX - popupmenu.width()) : e.clientX;
      t = ($(document).height() - e.clientY) < popupmenu.height() ? (e.clientY - popupmenu.height()) : e.clientY;
      popupmenu.css({left: l,top: t}).show();
      return false;
});
</script>

</body>
</html>

效果展示:

时间: 2024-11-08 18:26:20

jQuery自定义Web页面鼠标右键菜单的相关文章

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

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

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

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

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

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

禁用页面的右键菜单

<textarea id="mytextarea"></textarea> <script> $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); </script> 禁用页面的右键菜单

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

禁止按键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

将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:

如何添加程序到windows的鼠标右键菜单,

如何修改windows的鼠标右键菜单 当一个程序是一个绿色安装包的时候,你又要用这个软件频繁打开的文件的时候,当选择打开时,每次都要选择应用程序,会带来操作上的繁琐和不便.但是我们可以添加鼠标右键菜单,也就是,用鼠标右键点击文件,弹出来的那个菜单. 修改这个菜单,要修改windows的注册表. 在开始->运行,输入regedit,即可快速进入注册表编辑菜单. 1.找到HKEY_CLASSES_ROOT,展开,点击*,找到shell,展开,鼠标右键点击shell,点击新建,输入自己想在鼠标右键菜单