Web contextMenu

自由定制页面元素的右键菜单
授权协议 SATA
开发语言 JavaScript HTML/CSS
所属分类 jQuery 插件、 jQuery高级页面组件
软件类型 开源软件
地区 国产
投 递 者 屠德宇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

contextMenu

自由定制页面元素的右键菜单。

最新版本

v2.2.0

原理

该插件通过指定的参数,渲染出一个漂亮的右键菜单,并绑定菜单项点击事件。

需要的参数有:

  1. 右键事件e。指定一个事件e,它可能是通过原生js、jq,甚至vue捕捉的;该插件将获取点击的位置,并阻止事件冒泡,屏蔽默认的右键菜单。
  2. 菜单描述数组menu。menu数组决定了你想渲染出什么样的菜单。

特色

  • 侵入性小,这个插件几乎不会影响全局,除了ContextMenu全局变量。
  • 兼容性好,在各个屏幕尺寸和有无滚动条的场景都有不错的渲染效果。
  • 支持多层嵌套的DOM触发的事件,以最里层为准(详见demo)。
  • 支持二级菜单。

准备

  1. 下载源码(并点赞)
  2. 引入 jquery
  3. 引入 contextMenu.css
  4. 引入 contextMenu.js

典型用法

$('body').contextmenu(function (e) {
                var menu=[
                    'menu1', //合理的html或纯文字
                    'menu2',
                    '|', //分隔符
                    [
                        'click me', //title
                        function (dom) {alert('Hi')} // 点击菜单项的回调
                    ],
                ];
                ContextMenu.render(e,menu,this); //开始渲染
            });

API

ContextMenu.render(e,menu,param,theme)

e:点击事件对象,如$('body').contextmenu(function (e){})

menu:

menu为false代表恢复为系统默认的菜单;

menu为true代表禁用系统默认菜单,但是不渲染自定义菜单;

menu为数组表示渲染自定义右键菜单;

var menu=[
    '文字1', //纯文字或html将直接被渲染,做为一个提示性菜单项
    '文字2',
    '|', //简单的一个分隔符
    ['功能1',function(param){alert("功能1点击")}], //这种格式说明这个菜单项可以被点击并产生回调
    [
        '子菜单',[
            '文字3',
            '文字4',
            '|',
            ['功能2',function(param){alert("功能2点击")}],
        ]
    ] //声明一个子菜单,子菜单内部的声明格式和父级一样
]

param:菜单点击回调的第一个参数

theme:主题(目前可选主题"light")

其他

注意:为了获得正确的屏幕尺寸,添加了一个html,body:{height:100%}的样式,请确保该样式生效不被覆盖。

更多项目

Yuri2'Projects

更新记录

  • v2.2.0 新增主题切换功能
  • v2.1.1 修复了二级菜单溢出屏幕的问题,更好的兼容性

 

  • Android除了可以通过菜单键弹出OptionsMenu外,还可以长按某个控件来弹出ContextMenu。比如EditeText就可以通过长按来弹出拥有“cut”,"copy","paste"等项的ContextMenu。 ContextMenu和OptionsMenu相比主要有以下区别: 1,ContextMenu必须通过Activity的 registerForContextMenu(Vi

  •  * ListView三要素  * 1:ListView组件  * 2:适配器    ArrayAdapter(就显示一行文字) SimpleAdapter(图文并茂)  BaseAdapter(也有点击事件)  * 3:数据集  *  菜单分为三种  *  1:上下文菜单  ContextMenu   一般都是结合组件使用  所以通一个方法注册即可registerForContextMenu(某

  • contexmenu属性用于定义<div>元素的上下文菜单,所谓上下文菜单就是用书右键点击元素时候出现。 示例代码: <!doctype html> <html> <head> <meta charset="utf-8"> <title> </title> </head> <body> <div contextmenu="mymenu">上下文菜单 <menu type="context" id

  • 简单来说,就是版本不同,只不过是升级后建议功能更加强大的ContextMenuStrip罢了,升级后的元件功能更强 。 ContextMenu是VS2005里的,而ContextMenuStrip是VS2008以后的版本里面的。 ContextMenuStrip 替换 ContextMenu, 【1】可以将 ContextMenuStrip 与任何控件关联,单击鼠标右键会自动显示快捷菜单。 【2】

  • ContextMenu   android的context menu上下文菜单,选择某项VIEW后长按menu键,就会显示出来。  SDK上的描述:Context Menu A floating list of menu items that appears when the user performs a long-press on a View. 使用步骤   ContextMenu的使用也比

  • 1、配置布局文件 main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_pare

  • 使用Context Menu方法。 1.在onCreateContextMenu中创建菜单。 2.在onContextItemSelected中填写菜单响应处理 3.使用registerForContextMenu 注册菜单到指定listview。  4.调用showContextMenu显示菜单 public boolean onContextItemSelected(MenuItem item

  • 用oncontextmenu事件单禁用右键菜单 onconTextmenu=window.event.returnValue=false;右键菜单禁用,用这个可以禁止复制。   在<body>中加入属性代码: οncοntextmenu="return false"               onselectstart="return false"                   禁止选中网

 相关资料
  • 问题内容: 我想向我的Web应用程序添加一个自定义的右键单击菜单。无需使用任何预建的库就可以做到吗?如果是这样,如何显示一个不使用第三方JavaScript库的简单自定义右键单击菜单? 我的目标是像Google文档那样。它允许用户右键单击并向用户显示他们自己的菜单。 注意: 我想学习如何制作自己的东西,而不是使用大多数人以来已经制作的东西,那些第三方库充斥着功能,而我只想要我需要的功能,因此我希望

  • 本文向大家介绍vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单,包括了vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单的使用技巧和注意事项,需要的朋友参考一下 今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerightmenu)   安装

  •  点下鼠标右键后呼叫的 KAG 的游戏界面。  例如使用右键来调出存储/读取画面。 总之先上范例  调用右键菜单的指令是 rclick 。使用这个指令、可以设定点下右键后呼叫的剧本段落。此外,也可以不使用呼叫(调用菜单后,使用return可以返回游戏),而是直接跳转到某个标签(右键跳跃后无法返回,等同于jump)。  例如,在 rlick.ks 里写入以下内容。 例: *rclick @rclic

  • 本文向大家介绍jQuery实现自定义右键菜单的树状菜单效果,包括了jQuery实现自定义右键菜单的树状菜单效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现自定义右键菜单的树状菜单效果。分享给大家供大家参考。具体如下: 这是一款基于jQuery的自定义右键菜单,在树状结构的子节点(下级没有节点)上单击右键才会弹出自定义菜单,而且菜单是自动根据鼠标位置来定位的。当鼠标在菜单

  • 当用户在网页中点击鼠标右键后,会唤出一个菜单,在上面有复制、粘贴和翻译等选项,为用户提供快捷便利的功能。Chrome也将这里开放给了开发者,也就是说我们可以把自己所编写的扩展功能放到右键菜单中。 要将扩展加入到右键菜单中,首先要在Manifest的permissions域中声明contextMenus权限。 "permissions": [ "contextMenus" ] 同时还要在i

  • 本文向大家介绍JS简单实现自定义右键菜单实例,包括了JS简单实现自定义右键菜单实例的使用技巧和注意事项,需要的朋友参考一下 RT,一个简单的例子,仅仅讲述原理   假设我要把上面这个div设置为右键菜单,先随意美化一下。 原理就是利用contextmenu事件,右键点击时,会触发这个事件时,该事件对象可以获得鼠标距离页面左上角的距离clientX和clientY, 我们可以利用这两个属性,来控制d

  • 进入具体播放器编辑页面,点击右侧菜单标签,设置播放器右侧控制菜单。 系统内置了三个菜单:设置、分享按钮、下载(需配合加密播放器使用)。若不需要显示,点击菜单后面的停用即可; 此外,您还可以根据自己的需求来自定义设置右侧菜单,向播放用户开放更多设置效果。 自定义右侧菜单支持以下三种按钮类型,你可以根据自己需求选择; ·超级链接:设置一个链接地址,点击按钮时将打开该链接地址; ·弹出内容:点击按钮时,

  • 如何在表格组件的表头部分定制右键,支持不同单元格显示不同菜单项目。