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

程序名称:Web contextMenu

授权协议: SATA

操作系统: 跨平台

开发语言: JavaScript

Web contextMenu 介绍

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 修复了二级菜单溢出屏幕的问题,更好的兼容性

Web contextMenu 官网

https://github.com/yuri2peter/contextMenu

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


多功能下拉选择插件 SelectPage 简洁而强大的下拉分页选择器;支持远程数据(AJAX)、
AutoComplete 是一个 jQuery Mobile 的插件,用于实现在 jQuery Mobile 中的搜索框中提供自动完成的功能。
Combogrid 是一个jQuery插件用于为输入框添加高级自完成功能(auto- complete)。当用户输入的时候,会在输入框的下方面动态显示一个拥有分页功能的表格(Grid)控件。
Autobox2这个jQuery插件,可以用于创建类似于Facebook风格的AutoComplete控件。
Link Scraper TextBox 是一个文本框的扩展插件,当你输入一个 URL 时,就会在输入框下方显示该 URL 地址对应的网页标题。
Awesomplete 超小超好用的超漂亮的 autocomplete 框架并且对其它框架零依赖 gzip 压缩后只有2kb
jQuery.autocomplete 是另外一款在文本框中实现自动完成的jQuery插件。 在线演示:http://mabp.kiev.ua/content/source/autocomplete/autocomplete.html
简洁、易用、多样的菜单解决方案 状态 入门指南、DEMO、文档 插件官方首页(入门指南、DEMO、文档):
Ajax Autocomplete for jQuery jQuery 的自动补全组件,支持 Ajax 获取远程数据,支持数据分组显示。
这是一个用来在文本输入框中实现自动完成的jQuery插件。 主要的功能有: 使用和配置简单;
Easily build your own simple or complex autocomplete systems, or use standalone.
TextExt 是一个 jQuery 插件,提供对文本输入框的功能扩展,可实现自动完成、标签输入、ajax和过滤功能。
这款jQuery插件来自于Twitter的一个新的项目,支持远程和本地的数据集。比较有特色的地方在于你可以将数据集使用本地存储(local
At.js 是一个Twitter / Weibo样式的@自动完成插件。Demo演示 功能特性: 可以监听任何字符,不仅仅只是’@‘,可以设置监听不同的字符和使用不同的数据。
马可波罗(Marco Polo),一个为独具慧眼的开发人员准备的jQuery自动补齐插件。
看看上面的截图,你能明白该插件的用途了吗?当你在编辑框中输入 @xxx 的时候就会触发 Ajax
这是一个在文本输入框中实现自动完成的jQuery插件。 本站采用了该插件。 使用代码示例:
A full featured autocompleter that’s easy to use. It uses caching to produce lightning speeds and to limit server requests.
DevBridge Ajax Autocomplete 是一个实现了文本输入框的自动完成输入的插件。支持大多数浏览器,要求至少 IE 7+
jqac (jQuery Auto Complete) 是一个实现了编辑框输入自动完成的jQuery插件。 在线演示