EasyUI Menu 菜单

转自:http://www.jeasyui.net/plugins/163.html

通过 $.fn.menu.defaults 重写默认的 defaults。

菜单(Menu)通常用于上下文菜单。它是创建其他菜单组件(比如:menubutton、splitbutton)的基础组件。它也能用于导航和执行命令。

用法

创建菜单(Menu)

通过标记创建菜单(menu)应该添加 'easyui-menu' class 到 <div> 标记。每个菜单项(menu item)通过 <div> 标记创建。我们可以添加 'iconCls' 属性到菜单项(menu item),以定义一个显示在菜单项(menu item)左边的图标。添加 'menu-sep' class 到菜单项(menu item)将产生一个菜单(menu)分隔符。

  1. <div id="mm" class="easyui-menu" style="width:120px;">
  2. <div>New</div>
  3. <div>
  4. <span>Open</span>
  5. <div style="width:150px;">
  6. <div><b>Word</b></div>
  7. <div>Excel</div>
  8. <div>PowerPoint</div>
  9. </div>
  10. </div>
  11. <div data-options="iconCls:'icon-save'">Save</div>
  12. <div class="menu-sep"></div>
  13. <div>Exit</div>
  14. </div>

编程创建菜单(menu)并侦听 'onClick' 事件。

  1. $('#mm').menu({
  2. onClick:function(item){
  3. //...
  4. }
  5. });
显示菜单(Menu)

当菜单(menu)被创建时,它是隐藏不可见的。调用 'show' 方法来显示菜单(menu)。

  1. $('#mm').menu('show', {
  2. left: 200,
  3. top: 100
  4. });
菜单项

菜单项(menu item)代表一个显示在菜单中的单独的项目。它包含下列属性:

名称类型描述默认值
idstring菜单项(menu item)的 id 属性。 
textstring项目文本。 
iconClsstring在项目左边显示一个 16x16 图标的 CSS class。 
hrefstring当点击菜单项(menu item)时设置页面位置。 
disabledboolean定义是否禁用菜单项(menu item)。false
onclickfunction当点击菜单项(menu item)时被调用的函数。 

菜单属性

名称类型描述默认值
zIndexnumber菜单(Menu)的 z-index 样式,从它开始增加。110000
leftnumber菜单(Menu)的左边位置。0
topnumber菜单(Menu)的顶部位置。0
minWidthnumber菜单(Menu)的最小宽度。该属性自版本 1.3.2 起可用。120
hideOnUnhoverboolean如果设置为 true,当鼠标离开它时自动隐藏菜单(menu)。该属性自版本 1.3.5 起可用。true

菜单事件

名称参数描述
onShownone当菜单(menu)显示之后触发。
onHidenone当菜单(menu)隐藏之后触发。
onClickitem当点击菜单项(menu item)时触发。下面的实例演示如何处理所有菜单项点击:
  1. <div class="easyui-menu" data-options="onClick:menuHandler" style="width:120px;">
  2. <div data-options="name:'new'">New</div>
  3. <div data-options="name:'save',iconCls:'icon-save'">Save</div>
  4. <div data-options="name:'print',iconCls:'icon-print'">Print</div>
  5. <div class="menu-sep"></div>
  6. <div data-options="name:'exit'">Exit</div>
  7. </div>
  8. <script type="text/javascript">
  9. function menuHandler(item){
  10. alert(item.name)
  11. }
  12. </script>

菜单方法

名称参数描述
optionsnone返回选项(options)对象。
showpos在指定的位置显示菜单(menu)。
pos 参数有两个属性:
left:新的左边位置。
top:新的顶部位置。
hidenone隐藏菜单(menu)。
destroynone销毁菜单(menu)。
getItemitemEl获取包含 'target' 属性(指示项目 DOM 元素)的菜单项(menu item)属性。下面的实例演示如何通过 id 获取指定的项目:
  1. <div id="mm" class="easyui-menu" style="width:120px">
  2. <div>New</div>
  3. <div id="m-open">Open</div>
  4. <div>Save</div>
  5. </div>
  6.  
  7. var itemEl = $('#m-open')[0]; // the menu item element
  8. var item = $('#mm').menu('getItem', itemEl);
  9. console.log(item);
setTextparam给指定的菜单项(menu item)设置文本。'param' 参数包含两个属性:
target:DOM 对象,被设定的菜单项(menu item)。
text:string,新的文本值。

代码实例:
  1. var item = $('#mm').menu('findItem', 'Save');
  2. $('#mm').menu('setText', {
  3. target: item.target,
  4. text: 'Saving'
  5. });
setIconparam给指定的菜单项(menu item)设置图标。'param' 参数包含两个属性:
target:DOM 对象,即菜单项(menu item)。
iconCls:新图标的 CSS class。

代码实例:
  1. $('#mm').menu('setIcon', {
  2. target: $('#m-open')[0],
  3. iconCls: 'icon-closed'
  4. });
findItemtext找到指定的菜单项(menu item),返回对象与 getItem 方法相同。
代码实例:
  1. // find 'Open' item and disable it
  2. var item = $('#mm').menu('findItem', 'Open');
  3. $('#mm').menu('disableItem', item.target);
appendItemoptions追加一个新的菜单项(menu item),'param' 参数指示新的项目属性。默认情况下,新增的项目将作为顶级菜单项(menu item)。如需追加一个子菜单项,需设置 'parent' 属性,用来指示已经有子项目的父项目元素。
代码实例:
  1. // append a top menu item
  2. $('#mm').menu('appendItem', {
  3. text: 'New Item',
  4. iconCls: 'icon-ok',
  5. onclick: function(){alert('New Item')}
  6. });
  7. // append a menu separator
  8. $('#mm').menu('appendItem', {
  9. separator: true
  10. });
  11. // append a sub menu item
  12. var item = $('#mm').menu('findItem', 'Open'); // find 'Open' item
  13. $('#mm').menu('appendItem', {
  14. parent: item.target, // the parent item element
  15. text: 'Open Excel',
  16. iconCls: 'icon-excel',
  17. onclick: function(){alert('Open Excel')}
  18. });
removeItemitemEl移除指定的菜单项(menu item)。
enableItemitemEl启用菜单项(menu item)。
disableItemitemEl禁用菜单项(menu item)。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值