第二百零六节,jQuery EasyUI,Menu(菜单)组件
jQuery EasyUI,Menu(菜单)组件

学习要点:
1.加载方式
2.菜单项属性
3.菜单属性
4.菜单事件
5.菜单方法
本节课重点了解 EasyUI 中 Menu(菜单)组件的使用方法,这个组件不依赖于任何其他 组件。
一.加载方式
菜单组件通常用于快捷菜单,在加载方式上,通过 class 或 JS 进行设置为菜单组件。 然后,再通过 JS 事件部分再响应。
class 加载方式,
<div id="box" class="easyui-menu" style="width:120px;">
<div>新建</div>
<div>
<span>打开</span>
<div style="width:150px;">
<div>Word</div>
<div>Excel</div>
<div>PowerPoint</div>
</div>
</div>
<div data-options="iconCls:'icon-save'">保存</div>
<div class="menu-sep"></div>
<div>退出</div>
</div>
注意必须结合js使用,因为默认class 加载方式,是隐藏的,而且默认是浏览器系统菜单
js
$(function () {
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
})
})
});
menu()方法,将元素执行鼠标左键自定义菜单方法
JS 加载方式
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
})
})
});
二.菜单项属性,菜单主体属性

在 data-options 设置,只有两个有效,这些属性一般用于class 加载方式的每一项,或者使用方法增加时设置
<div data-options="
iconCls :'icon-save',
disabled : true,
">保存</div>
PS:其他的参数会菜单方法中设置菜单项时有效
三.菜单属性

菜单属性,有些设置在 data-options 有效
zIndex number 菜单 z-index 样式,增加它的值。默认值110000。 设置菜单的层级关系
$(function () {
$('#box').menu({
zIndex:100 //设置菜单的层级关系
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
});
left number 菜单的左边距位置。默认值0。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
left:100,
top:100
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
// left: e.pageX, //菜单位置
// top: e.pageY //菜单位置
});
});
});
top number 菜单的上边距位置。默认值0。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
left:100,
top:100
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
// left: e.pageX, //菜单位置
// top: e.pageY //菜单位置
});
});
});
minWidth number 菜单的最小宽度。默认值120。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
left:100,
top:100,
minWidth:400 //菜单的最小宽度。默认值120。
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
// left: e.pageX, //菜单位置
// top: e.pageY //菜单位置
});
});
});
hideOnUnhover boolean 当设置为 true 时,在鼠标离开菜单的时候将自动隐藏菜单。默认值 true。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
minWidth:400, //菜单的最小宽度。默认值120。
hideOnUnhover:false //当设置为 true 时,在鼠标离开菜单的时候将自动隐藏菜单。默认值 true。
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
});
四.菜单事件

onShow none 在菜单显示之后触发。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
onShow:function () {
alert('在菜单显示之后触发。');
}
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
});
onHide none 在菜单隐藏之后触发。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
onHide:function () {
alert('在菜单隐藏之后触发');
}
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
});
onClick item 在菜单项被点击的时候触发。
$(function () {
$('#box').menu({
zIndex:100, //设置菜单的层级关系
onClick:function (item) {
alert('在菜单项被点击的时候触发');
alert(item); //接收点击的对象
}
});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
});
五.菜单方法



options none 返回属性对象。
$(function () {
$('#box').menu({
});
alert($('#box').menu('options')); //返回属性对象
});
show pos显示菜单到指定的位置。'pos'参数有2个属性:
left:新的左边距位置。
top:新的上边距位置。
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
})
});
});
hide none 隐藏菜单。
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
});
$('#box').menu('hide'); //隐藏菜单。
});
});
destroy none 销毁菜单。
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
});
$('#box').menu('destroy'); //销毁菜单
});
});
getItem itemEl 获取指定的菜单项。得到的是一个菜单项的 DOM 元素。值为指定菜单项的id
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
});
alert($('#box').menu('getItem','#df')); //得到的是一个菜单项的 DOM 元素。值为指定菜单项的id
});
});
setText param设置指定菜单项的文本。'param'参数包含2个属性:
target:DOM 对象,要设置值的菜单项。
text: 字符串,要设置的新文本值。
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
});
$('#box').menu('setText', {
target: '#df',
text: '修改'
});
});
});
setIcon param设置指定菜单项图标。'param'参数包含2个属性:
target:DOM 对象,要设置的菜单项。
iconCls:新的图标 CSS 类 ID。
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
});
$('#box').menu('setIcon', {
target: '#df',
iconCls : 'icon-add'
});
});
});
findItem text 查 找 的 指 定 菜 单 项 , 返 回 的 对 象 和getItem 方法是一样的。
$(function () {
$('#box').menu({
});
$(document).on('contextmenu',function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show',{ //执行自定义鼠标左键菜单
left:e.pageX, //菜单位置
top:e.pageY //菜单位置
});
alert($('#box').menu('findItem','新建'));
});
});
appendItem options追加新的菜单项,'options'参数代表新菜单项属性。默认情况下添加的项在菜单项的顶部。追加一个子菜单项,'parent'属性应该设置指定的父项元素,并且该父项元素必须是已经定义在页面上的。
$(function () {
$('#box').menu({});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
$('#box').menu('appendItem', {
text: '新增',
iconCls: 'icon-add',
onclick: function () {
alert('新增');
}
});
});
追加一个子菜单项
$(function () {
$('#box').menu({});
$(document).on('contextmenu', function (e) { //设置鼠标左键方法
e.preventDefault(); //阻止默认行为,阻止掉浏览器系统菜单
$('#box').menu('show', { //执行自定义鼠标左键菜单
left: e.pageX, //菜单位置
top: e.pageY //菜单位置
});
});
$('#box').menu('appendItem', {
parent: $('#box').menu('findItem', '打开').target,
text: '新增',
iconCls: 'icon-add',
onclick: function () {
alert('新增');
},
});
});
removeItem itemEl 移除指定的菜单项。值为目标id
$('#box').menu('removeItem', '#new');
enableItem itemEl 启用菜单项。值为目标id
$('#box').menu('disableItem', '#new');
disableItem itemEl 禁用菜单项。值为目标id
$('#box').menu('enableItem', '#new');
$.fn.menu.defaults 重写默认值对象。见前面
第二百零六节,jQuery EasyUI,Menu(菜单)组件的更多相关文章
- 第二百零八节,jQuery EasyUI,SplitButton(分割按钮菜单)组件
jQuery EasyUI,SplitButton(分割按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 SplitButton(分割按钮)组件的使用 ...
- 第二百零三节,jQuery EasyUI,Window(窗口)组件
jQuery EasyUI,Window(窗口)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Window(窗口)组件的使用方法,这个组件 ...
- 第四百零六节,自定义用户表类来继承Django的用户表类,
第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...
- 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...
- 第二百零七节,jQuery EasyUI,MenuButton(菜单按钮)组件
jQuery EasyUI,MenuButton(菜单按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 MenuButton(菜单按钮)组件的使用方法 ...
- 第二百零九节,jQuery EasyUI,Pagination(分页)组件
jQuery EasyUI,Pagination(分页)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Pagination(分页)组件的使 ...
- 第二百零五节,jQuery EasyUI,Messager(消息窗口)组件
jQuery EasyUI,Messager(消息窗口)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 Messager(消息窗口)组件的使用方法,这个组 ...
- 第二百零四节,jQuery EasyUI,Dialog(对话框)组件
jQuery EasyUI,Dialog(对话框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Dialog(窗口)组件的使用方法,这个组件依赖 ...
- 第二百零二节,jQuery EasyUI,Layout(布局)组件
jQuery EasyUI,Layout(布局)组件 学习要点: 1.加载方式 2.布局属性 3.区域面板属性 4.方法列表 本节课重点了解 EasyUI 中 Layout(布局)组件的使用方法,这个 ...
随机推荐
- PortableApps的使用方法
1 从官方网站下载这个软件,建议只下载PortableApps Platform Only即可,因为官方提供的软件其实很少,大多数需要我们自己添加. PortableApps 致力于将一些常见的开源软 ...
- 在单进程单线程或单进程多线程下实现log4cplus写日志并按大小切割
基于脚本配置来过滤log信息 除了通过程序实现对log环境的配置之外.log4cplus通过PropertyConfigurator类实现了基于脚本配置的功能.通过 脚本能够完毕对logger.app ...
- 微博轻量级RPC框架Motan正式开源:支撑千亿调用
支撑微博千亿调用的轻量级 RPC 框架 Motan 正式开源了,项目地址为https://github.com/weibocom/motan. 微博轻量级RPC框架Motan正式开源 Motan 是微 ...
- 算法笔记_090:蓝桥杯练习 7-1用宏求球的体积(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 使用宏实现计算球体体积的功能.用户输入半径,系统输出体积.不能使用函数,pi=3.1415926,结果精确到小数点后五位. 样例输入 一个 ...
- webSQL 实现即时通讯
websql存储方式一共有以下几个方法 openDatabase:这个方法使用现有的数据库或新建数据库来创建数据库对象. transaction:这个方法允许我们执行事务处理; executeSql: ...
- sqlserver远程备份到其他服务器
直接将数据库备份到其他机器上 --如果xp_cmdshell没有启用,请先启用 sp_configure reconfigure go sp_configure reconfigure go --1. ...
- js重置form表单
CreateTime--2017年7月19日10:37:11Author:Marydon js重置form表单 需要使用的方法:reset() 示例: HTML部分 <form id=&qu ...
- python能够执行,但编译第三包遇到 python.h no such file or directory
python能够执行,但编译第三包遇到 python.h no such file or directory 这个问题是由于没有安装python-devel, 安装此包就能够解决次问题,在Linux下 ...
- Linux管道符
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFpanVucGVuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 原装Win8系统换win7系统(图文教程)
装Win8系统换win7系统(图文教程) 在这几天小编发现到,很多用户在使用装机助理制作的U盘进行win8系统换win7系统时总是失败,搞得人心惶惶的.有些用户以为在制作好U盘启动后放进需要装的系统就 ...