菜单 - Menu
使用$.fn.menu.defaults重载默认值。
菜单通常用于上下文菜单。这是基本组件构建其他菜单组件如menubutton和splitbutton。它还可以用于导航和执行命令。
使用方法(Usage Example)
创建菜单
使用HTML标签创建菜单必须对<div>标签引用'easyui-menu'类,每个菜单项都将使用<div>标签创建。 为菜单添加'iconCls'属性可以指定一个显示在菜单项左侧的图标。对菜单引用'menu-sep'类将生成一条菜单分隔线。
使用脚本创建菜单并且监听'onClick'事件。
显示菜单
当一个菜单创建完毕,它是隐藏而不可见的,调用'show'方法可以显示菜单。.
菜单项(Menu Item)
菜单项代表一个单独的项目,是显示在一个菜单。它包含以下属性:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
id | string | 菜单项“id” | |
text | string | 菜单项名称。 | |
iconCls | string | 一个CSS类在菜单项右边显示一个16 x16图标。 | |
href | string | 设置单击菜单项链接。 | |
disabled | boolean | 定义如果禁用菜单项。 | false |
onclick | function | 单击菜单项函数。 |
菜单属性(Menu Properties)
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
zIndex | number | 菜单的z-index样式,从第一个菜单开始递增。 | 110000 |
left | number | 菜单的左边距。 | 0 |
top | number | 菜单的顶边距。 | 0 |
菜单事件(Menu Events)
名称 | 属性 | 描述 |
---|---|---|
onShow | none | 当一个菜单被显示后触发。 |
onHide | none | 在一个菜单被隐藏后触发。 |
onClick | item | 当一个菜单被点击时触发。下面的例子显示了如何处理所有菜单项点击:<div class="easyui-menu" data-options="onClick:menuHandler" style="width:120px;"> <div data-options="name:'new'">New</div> <div data-options="name:'save',iconCls:'icon-save'">Save</div> <div data-options="name:'print',iconCls:'icon-print'">Print</div> <div class="menu-sep"></div> <div data-options="name:'exit'">Exit</div> </div> <script type="text/javascript"> function menuHandler(item){ alert(item.name) } </script> |
菜单方法(Menu Methods)
名称 | 属性 | 描述 |
---|---|---|
show | pos | 在一个特定的位置显示菜单。 pos参数有2个属性: left:新的左边距。 top:新的顶边距。 |
hide | none | 隐藏一个菜单。 |
getItem | itemEl | 获取菜单项数据并将其返回,
数据包含以下属性: target:DOM对象,菜单项目。 id:字符串,分配给元素的ID。 text:字符串,菜单项的文本。 href:字符串,超链接地址。 disabled:布尔型,菜单项是启用还是禁用。 onclick:函数, 当用户点击菜单时将要执行的函数。 iconCls:字符串,图标css类。 下面的例子展示了如何通过id获取指定的项: <div id="mm" class="easyui-menu" style="width:120px"> <div>New</div> <div id="m-open">Open</div> <div>Save</div> </div> var itemEl = $('#m-open')[0]; // the menu item element var item = $('#mm').menu('getItem', itemEl); console.log(item); |
setText | param | 设置特定的菜单文本,'param'参数包含2个属性: target:DOM对象,将要被设置的菜单项。 text:字符串,新的文本值。 示例: var item = $('#mm').menu('findItem', 'Save'); $('#mm').menu('setText', { target: item.target, text: 'Saving' }); |
setIcon | param | 设置特定的菜单项图标,'param'参数包含2个属性: target:DOM对象,菜单项目。 iconCls: 新的图标css类。 示例: $('#mm').menu('setIcon', { target: $('#m-open')[0], iconCls: 'icon-closed' }); |
findItem | text | 查找特定的菜单项,和getItem方法返回的对象相同。
示例: // find 'Open' item and disable it var item = $('#mm').menu('findItem', 'Open'); $('#mm').menu('disableItem', item.target); |
appendItem | options | 添加一个新的菜单项,“param”参数表示新条目属性。默认情况下,添加项目将成为一个顶级菜单项。附加的子菜单项,父属性应该设置为指定父条目元素,已经有子条目。 'param'参数包含以下属性: parent: 待添加新菜单的DOM对象,如果没有被设置,新菜单项将会被作为顶级菜单添加。 text:字符串,菜单项文本。 href:字符串,超链接地址。 onclick:字符串或者函数,当用户点击菜单项时将要被执行的脚本代码或者函数。 iconCls: 图标类。 示例: // append a top menu item $('#mm').menu('appendItem', { text: 'New Item', iconCls: 'icon-ok', onclick: function(){alert('New Item')} }); // append a sub menu item var item = $('#mm').menu('findItem', 'Open'); // find 'Open' item $('#mm').menu('appendItem', { parent: item.target, // the parent item element text: 'Open Excel', iconCls: 'icon-excel', onclick: function(){alert('Open Excel')} }); |
removeItem | itemEl | 移除特定的菜单项。 |
enableItem | itemEl | 启用菜单项。 |
disableItem | itemEl | 禁用菜单项。 |