菜单 - 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 | 禁用菜单项。 |