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(菜单)组件的更多相关文章

  1. 第二百零八节,jQuery EasyUI,SplitButton(分割按钮菜单)组件

    jQuery EasyUI,SplitButton(分割按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 SplitButton(分割按钮)组件的使用 ...

  2. 第二百零三节,jQuery EasyUI,Window(窗口)组件

    jQuery EasyUI,Window(窗口)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Window(窗口)组件的使用方法,这个组件 ...

  3. 第四百零六节,自定义用户表类来继承Django的用户表类,

    第四百零六节,自定义用户表类来继承Django的用户表类, models.py from django.db import models # Create your models here. from ...

  4. 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型

    第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...

  5. 第二百零七节,jQuery EasyUI,MenuButton(菜单按钮)组件

    jQuery EasyUI,MenuButton(菜单按钮)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 MenuButton(菜单按钮)组件的使用方法 ...

  6. 第二百零九节,jQuery EasyUI,Pagination(分页)组件

    jQuery EasyUI,Pagination(分页)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Pagination(分页)组件的使 ...

  7. 第二百零五节,jQuery EasyUI,Messager(消息窗口)组件

    jQuery EasyUI,Messager(消息窗口)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 Messager(消息窗口)组件的使用方法,这个组 ...

  8. 第二百零四节,jQuery EasyUI,Dialog(对话框)组件

    jQuery EasyUI,Dialog(对话框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解EasyUI中Dialog(窗口)组件的使用方法,这个组件依赖 ...

  9. 第二百零二节,jQuery EasyUI,Layout(布局)组件

    jQuery EasyUI,Layout(布局)组件 学习要点: 1.加载方式 2.布局属性 3.区域面板属性 4.方法列表 本节课重点了解 EasyUI 中 Layout(布局)组件的使用方法,这个 ...

随机推荐

  1. 实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序

    1.前言 2017 年 12 月,微信小程序向开发者开放了实时音视频能力,给业内带来广阔的想象空间.连麦互动视频直播技术在 2016 年直播风口中成为视频直播的标配,然而只有在原生的 APP 上才能保 ...

  2. 滚动锁定 scroll lock 键有什么用?

    滚动锁定 scroll lock 键有什么用? 中文名称:滚动锁定键  按下此键后在Excel等按上.下键滚动时,会锁定光标而滚动页面:如果放开此键,则按上.下键时会滚动光标而不滚动页面.      ...

  3. 基于Qt的A*算法可视化分析

    代码地址如下:http://www.demodashi.com/demo/13677.html 需求 之前做过一个无人车需要自主寻找最佳路径,所以研究了相关的寻路算法,最终选择A算法,因为其简单易懂, ...

  4. iOS 键盘自适应(IQKeyboardManager)使用小结

    IQKeyboardManager Github地址 经常在开发一个应用程序,我们遇到了一个问题,iPhone的键盘上滑覆盖的UITextField / UITextView.IQKeyboardMa ...

  5. photoshop cs4 破解

    第一步:下载完软件,要先解压出来,有1.55G,解压. 第二步:安装时选试用30天的选项,先不要输入注册码,完成安装. 第三步:找到hosts文件,在C:\WINDOWS\system32\drive ...

  6. ftp客户端的创建

    1.本段代码采用了 select I/O端口复用 2.含有三种功能:ls,  上传文件, 下载文件.这是拷贝别人的代码,自己添加了注释,随后会进行修改, 自己需要的功能:上传文件, 下载文件,  (并 ...

  7. Win10怎么打开或关闭自动维护功能

  8. excel weekday

    weekday(日期值)=星期几 星期天是1 星期六是7

  9. atitit.图片相似度与图片查找的设计 获取图片指纹

    atitit.图片相似度与图片查找的设计. 1. 两张图片相似算法 1 2. DCT(离散余弦变换(DiscreteCosineTransform))编辑 2 3.  编辑距离编辑 3 4. Java ...

  10. C# asp.net页面常用语法,页面包含

    搞.net开发这么多年,知道和用过包含include指令吗? <%@ Page Language="C#" AutoEventWireup="true" ...