JQuery之ContextMenu(右键菜单)

2023-10-29

插件下载地址:
http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.js
压缩版:
http://www.trendskitchens.co.nz/jquery/contextmenu/jquery.contextmenu.r2.packed.js

Jquery主页:    http://jquery.com/

插件中的参数说明:
Parameters
menu_id
The id of the menu as defined in your markup. You can bind one or more elements to a menu. Eg $("table td").contextMenu("myMenu") will bind the menu with id "myMenu" to all table cells. 
Note: This behaviour has changed from r1 where you needed a "#" before the id 

settings
ContextMenu takes an optional settings object that lets you style your menu and bind click handlers to each option. ContextMenu supports the following properties in the settings object: 

bindings 
An object containing "id":function pairs. The supplied function is the action to be performed when the associated item is clicked. The element that triggered the current menu is passed to this handler as the first parameter. 
Note: This behaviour has changed from r1 where you needed a "#" before the id 
menuStyle 
An object containing styleName:value pairs for styling the containing  < ul > menu. 
itemStyle 
An object containing styleName:value pairs for styling the  < li > elements. 
itemHoverStyle 
An object containing styleName:value pairs for styling the hover behaviour of  < li > elements. 
shadow 
Boolean: display a basic drop shadow on the menu. 
Defaults to true 
eventPosX 
Allows you to define which click event is used to determine where to place the menu. There are possibly times (particularly in IE6) where you will need to set this to "clientX". 
Defaults to: 'pageX' 
eventPosY 
Allows you to define which click event is used to determine where to place the menu. There are possibly times (particularly in IE6) where you will need to set this to "clientY". 
Defaults to: 'pageY' 
onContextMenu(event) 
A custom event function which runs before the context menu is displayed. If the function returns false the menu is not displayed. This allows you to attach the context menu to a large block element (or the entire document) and then filter on right click whether or not the context menu should be shown. 
onShowMenu(event, menu) 
A custom event function which runs before the menu is displayed. It is passed a reference to the menu element and allows you to manipulate the output before the menu is shown. This allows you to hide/show options or anything else you can think of before showing the context menu to the user. This function must return the menu. 

通过此插件可以在不同的html元素内建立contextmenu,并且可以自定义样式.

< HTML >
  < HEAD >
   < TITLE > JQuery右键菜单  </ TITLE >
   < script   src ="jquery-1.2.6.min.js" ></ script >
   < script  src ="jquery.contextmenu.r2.js" ></ script >
  </ HEAD >

  < BODY >
  < span  class ="demo1"  style ="color:green;" >
    右键点此
  </ span >
< hr  />
< div  id ="demo2" >
    右键点此
</ div >
< hr  />
< div  class ="demo3"  id ="dontShow" >
  不显示
</ div >
< hr  />
< div  class ="demo3"  id ="showOne" >
  显示第一项
</ div >
< hr  />
< div  class ="demo3"  id ="showAll" >
  显示全部
</ div >

< hr  />
     <!-- 右键菜单的源 -->
      < div  class ="contextMenu"  id ="myMenu1" >
       < ul >
         < li  id ="open" >< img  src ="folder.png"   /> 打开 </ li >
         < li  id ="email" >< img  src ="email.png"   /> 邮件 </ li >
         < li  id ="save" >< img  src ="disk.png"   /> 保存 </ li >
         < li  id ="delete" >< img  src ="cross.png"   /> 关闭 </ li >
       </ ul >
     </ div >

     < div  class ="contextMenu"  id ="myMenu2" >
         < ul >
           < li  id ="item_1" >选项一 </ li >
           < li  id ="item_2" >选项二 </ li >
           < li  id ="item_3" >选项三 </ li >
           < li  id ="item_4" >选项四 </ li >
         </ ul >
    </ div >
    
      < div  class ="contextMenu"  id ="myMenu3" >
          < ul >
           < li  id ="item_1" >csdn </ li >
           < li  id ="item_2" >javaeye </ li >
           < li  id ="item_3" >itpub </ li >
         </ ul >
     </ div >
  </ BODY >
  < script >
    
//所有class为demo1的span标签都会绑定此右键菜单
     $('span.demo1').contextMenu('myMenu1', 
     
{
          bindings: 
          
{
            'open': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was Open');
            }
,
            'email': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was Email');
            }
,
            'save': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was Save');
            }
,
            '
delete': function(t) {
              alert('Trigger was '
+t.id+'\nAction was Delete');
            }

          }


    }
);
    
//所有html元素id为demo2的绑定此右键菜单
    $('#demo2').contextMenu('myMenu2', {
      
//菜单样式
      menuStyle: {
        border: '2px solid #
000'
      }
,
      
//菜单项样式
      itemStyle: {
        fontFamily : 'verdana',
        backgroundColor : 'green',
        color: 'white',
        border: 'none',
        padding: '1px'

      }
,
      
//菜单项鼠标放在上面样式
      itemHoverStyle: {
        color: 'blue',
        backgroundColor: 'red',
        border: 'none'
      }
,
      
//事件    
      bindings: 
          
{
            'item_1': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was item_1');
            }
,
            'item_2': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was item_2');
            }
,
            'item_3': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was item_3');
            }
,
            'item_4': 
function(t) {
              alert('Trigger was '
+t.id+'\nAction was item_4');
            }

          }

    }
);
    
//所有div标签class为demo3的绑定此右键菜单
    $('div.demo3').contextMenu('myMenu3', {
    
//重写onContextMenu和onShowMenu事件
      onContextMenu: function(e) {
        
if ($(e.target).attr('id') == 'dontShow') return false;
        
else return true;
      }
,

      onShowMenu: 
function(e, menu) {
        
if ($(e.target).attr('id') == 'showOne') {
          $('#item_2, #item_3', menu).remove();
        }

        
return menu;
      }


    }
);



 
</ script >
</ HTML >
效果图:


   

http://www.blogjava.net/supercrsky/articles/250091.html


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery之ContextMenu(右键菜单) 的相关文章

  • 如果未选中复选框,jquery 清除输入字段

    我有以下 jquery 如果选中复选框 用户可以填写表单中的其他字段 我想要的是如果未选中该复选框 则清除附加输入字段值 document ready function input checkbox attr checked false x
  • PhoneGap/Cordova:如何使用cookies(iOS)?

    我有一个适用于 iOS 的 PhoneGap Corodova 项目 在 iOS 模拟器上构建时 我使用了 Jquery Cookies 它们很好 但是 既然我的设备上有该应用程序用于测试 它们就不再工作了 我猜这只是 iOS 不支持的东西
  • jQuery stopPropagation 不起作用

    我正在使用以下内容选色器 https github com meta100 mColorPicker blob master javascripts mColorPicker js它工作正常 但是当我单击颜色选择器图标时 我不希望它冒泡到主
  • 如何在 jquery 中使 ajax 数据键动态化?

    我试图使内联编辑成为动态的 因此它只依赖于我的标记中的一些数据属性 所以现在的代码如下 inline edit editable function value settings var editableField this ajax typ
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • 在 ASP.NET MVC 4 中使用 jQuery Mobile 1.3 面板时的双滚动条

    我无法弄清楚这一点 将以下代码放入布局页面并在浏览器中查看后 我将显示 2 个垂直滚动条 div div 遇到了类似的问题 并注意到只有在使用我的自定义主题时才出现这种问题 我以错误的顺序将自定义主题添加到页面 这导致了问题 正确的顺序是
  • 如何使用JQuery和Django(ajax + HttpResponse)?

    假设我有一个 AJAX 函数 function callpage ajax method get url abc data x 3 beforeSend function success function html IF HTTPRESPO
  • 水平平滑滚动 100px

    Heyjo problem 一周以来我一直在寻找 javascript 或 jQuery 代码 以便在我的网站上实现滚动按钮 我失败的那一刻是按钮应该多次工作的时候 他的任务不是滚动到专用元素 而是应该向左滚动 例如 100px 此外 滚动
  • jqGrid刷新本地数据(JSON对象)

    我正在尝试将 jqGrid 与本地数据一起使用 但发现了几个问题 我正在初始化这样的事情 function refreshGrid grid results grid jqGrid data results datatype local c
  • 检测 WebGL 支持的正确方法?

    我正在尝试跨多个浏览器检测 WebGL 支持 并且遇到了以下情况 当前版本的 Firefox 似乎使用以下检查来报告积极支持 即使访问者的视频卡被列入黑名单和 或 WebGL 被禁用 if window WebGLRenderingCont
  • `attr('checked', false)` 不适用于 IE6

    正如标题所说 我无法获取 attr checked false 在 IE6 上工作 我正在克隆一些 HTML 然后在将新克隆的 HTML 分配给元素之前 我会运行它并取消选中新克隆部分中的所有复选框 这在除 IE 6 之外的所有浏览器中都可
  • CORS 在 jquery 中工作正常,但在 angularjs 中不行

    我的服务器端是php mysql 我正在另一个域的 Web 服务中进行 Ajax 调用 其中启用了 的访问控制 var postUrl http logical brains com elance clone test login php
  • 在 iframe 中打开的网页上调用我的 jquery 函数

    我想单击一个按钮 该按钮位于基于父页面中的类选择器的 iframe 中打开的网页上 我试过这个 each classname function i el setTimeout function el trigger click 30000
  • Jquery获取选中的复选框

    您好 我想获取页面中选定复选框的列表 实际上我真正需要的是获取复选框旁边的元素的文本 该元素是一个 html 元素 li 代码如下 但它不起作用 这是我当前的 jQuery document ready function target cl
  • 如何删除除任何特定 id 之外的元素

    假设有一个父 id 其中包含许多元素 我想删除除一个元素之外的所有元素 ex parent id children not id n remove
  • 使用 AJAX 加载部分视图不起作用

    请原谅我 我是 MVC 和 AJAX 的新手 目前我只是提交一个表单 我想使用表单中的数据使用 ajax 更新部分视图中的表 My UserInfo部分视图如下所示 model IEnumerable
  • 从 HTTP 登录到 HTTPS

    我的网站默认使用 HTTP 我确实有一个启用 HTTPS 的证书 但只有其上的某些区域强制建立安全连接 登录是通过 Ajax 处理的 我想开始使用 SSL 即使请求来自 HTTP 我尝试强制请求的地址具有 HTTPS 并且它完美地回复 然而
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • Dense-Unet实现眼底图像血管分割(VesselNet)

    之前用Retina Unet项目实现了眼底图像血管分割 分割网络用的是Unet 现在看了DenseNet之后 将之前Unet网络中的Conv2d替换成下图的Dense Block之后 效果会有提升 在DRIVE数据集上的AUC值 Metho
  • 配置Nginx作为动态应用程序代理

    简介 在本教学文章中 我们将学习如何将Nginx配置为代理动态应用程序 如PHP Python或Node js 以处理动态请求 通过将Nginx配置为动态应用程序代理 我们可以提供高性能 可靠和安全的动态内容传递 本教程将介绍如何配置Ngi
  • C++初识

    简单的C 程序 include
  • linux 内核编程 常见错误,Linux编程常见错误及解决方案

    对于linux新手来说Linux编程会经常遇见一些问题 今天列出新手们最经常遇到的编程错误 并提供解决方案 1 由于是Linux新手 所以现在才开始接触线程编程 照着GUN Linux编程指南中的一个例子输入编译 结果出现如下错误 unde
  • [Pytorch系列-52]:循环神经网络RNN - 全连接网络与RNN网络在时间序列数据集上拟合的比较

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121526014 目录 第1章 概述
  • IDEA实现远程调试步骤详解

    IDEA不仅可以本地调试代码 也可以远程调试代码 一 基本原理 本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信 传递调试指令和调试信息 被调试程序的远程虚拟机 作为 Debug 服务端 监听 Debug 调试
  • 【Mo 人工智能技术博客】时序预测模型——LSTNet

    时序预测模型 LSTNet 作者 陈东瑞 1 背景 多元时间序列数据在我们的日常生活中无处不在 从股票市场的价格 高速公路上的交通流量 太阳能发电厂的输出量 不同城市的温度等等 在这样的应用中 用户通常对基于时间序列的历史观察来对新趋势或潜
  • 人脸识别技术的成熟让刷脸支付落地

    按照识别的精度排序 确实是虹膜 指纹 人脸的识别精度依次降低 但人脸识别可以根据摄像头的提升而提升 双目摄像头 结构光摄像头 TOF等等 这个上升空间很大 从应用性来看 你现在让所有的用户都去提取虹膜信息 指纹信息 这个很难 不现实 而我们
  • 文件复制到u盘后文件夹是空的,怎么恢复?

    便携式存储设备有很多种 其中就有u盘 由于这个给予我们生活工作中极大的便利 相信不少小伙伴都喜欢随身携带一个 但不少人遇到过明明已经把文件存放到u盘里了 在正常打开的情况下 再次使用时 出现u盘文件夹是空白的 碰到这样的情况 文件复制到u盘
  • 量化指标公式源码_精选指标:通达信公式无敌紫金钻选股指标——附源码

    精选指标 通达信公式无敌紫金钻选股指标 附源码 精选指标 通达信公式无敌紫金钻选股指标 附源码 VAR1 CLOSE MA CLOSE 21 MA CLOSE 21 100 VAR2 CLOSE LLV LOW 43 HHV HIGH 43
  • 第10章 K8s进阶篇-高级调度计划任务,污点和容忍和Affinity

    10 1 什么是Job job常用作初始化数据和基本的创建操作 job创建成功后不会立即执行容器命令 只有suspend true 才会执行 10 2 Job使用入门 root k8s master01 10st cat job yaml
  • HTML实现简单登录以及界面跳转

  • 经典上中(左右)下三栏布局

    经典上中 左右 下三栏布局 利用绝对定位实现三栏布局 1 html div class container div class top 我是顶部 div div class content div class div div div
  • 构建用户画像-标签体系

    用户画像是目前在技术公司广泛使用的技术 是根据客户人口统计信息 社交关系 偏好习惯和消费行为等信息而抽象出来的标签化画像 常常用在精准营销 圈定人群 发送短信消息 APP弹窗等等 用户画像的准确性往往会直接影响到运营的效果和获客成本 用户画
  • Qt Widgets 之 QDockWidget(停靠窗口)

    目录 什么是停靠窗口 如何添加停靠窗口 QDockWidget setWidget QMainWindow addDockWidget 设置停靠选项 Options AnimatedDocks AllowNestedDocks AllowT
  • Keil在线调试程序乱跑

    最近改了一个别人写的程序 但是在调试器调试过程中出现了一个奇怪的现象 代码部分如下 Sys Run这个函数在main函数中被无限循环调用 初始化时我会将TCENABLE这个标志位置0 通过CAN发送信息来改变他的数值 按道理来说当我运行程序
  • gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化

    相关博客http blog chinaunix net uid 24954950 id 2956476 html 相关博客http blog csdn net misiter article details 7514428 相关博客http
  • linux top命令看到的实存(RES)与虚存(VIRT)分析

    近期在公司中解决程序使用的内存高问题 将一部分之前无法回收的内存进行了回收 实现降内存效果 降实存 在统计效果时 QA问是统计RES 实存 还是VIRT 虚存 在网上学习看了一些博客 这里自己总结一下RES和VIRT的区别 1 概念 VIR
  • 绘制同y轴双侧柱状图,且y轴位置在坐标为0的位置,左右x轴均为正值(Python)

    绘制同y轴双侧柱状图 且y轴位置在坐标为0的位置 左右x轴均为正值 Python 在数据可视化中 柱状图是一种常用的图表类型 用于展示不同类别或变量之间的比较 本文将介绍如何使用Python绘制一个同y轴双侧柱状图 且y轴的位置在坐标为0的
  • JQuery之ContextMenu(右键菜单)

    插件下载地址 http www trendskitchens co nz jquery contextmenu jquery contextmenu r2 js 压缩版 http www trendskitchens co nz jquer