jQuery EasyUI Menu and Button Plugin -Меню
jQuery EasyUI Плагины
Переопределить значения по умолчанию через $.fn.menu.defaults.
Меню обычно используется для контекстных меню. Это базовый компонент для создания других компонентов меню (таких как menubutton, splitbutton). Оно также может использоваться для навигации и выполнения команд.
Использование
Создание меню
Чтобы создать меню из разметки, добавьте класс 'easyui-menu' к разметке <div>. Каждый пункт меню создаётся через разметку <div>. Мы можем добавить свойство 'iconCls' к пункту меню, чтобы определить значок, отображаемый слева от пункта меню. Добавление класса 'menu-sep' к пункту меню создаст разделитель меню.
<div id="mm" class="easyui-menu" style="width:120px;">
<div>New</div>
<div>
<span>Open</span>
<div style="width:150px;">
<div><b>Word</b></div>
<div>Excel</div>
<div>PowerPoint</div>
</div>
</div>
<div data-options="iconCls:'icon-save'">Save</div>
<div class="menu-sep"></div>
<div>Exit</div>
</div>
Создайте меню программно и прослушивайте событие 'onClick'.
$('#mm').menu({
onClick:function(item){
//...
}
});
Показать меню
При создании меню оно скрыто и невидимо. Вызовите метод 'show', чтобы показать меню.
$('#mm').menu('show', {
left: 200,
top: 100
});
Элемент меню
Элемент меню представляет отдельный элемент, отображаемый в меню. Он содержит следующие свойства:
| Name | Type | Описание | Значение по умолчанию |
|---|---|---|---|
| id | string | Свойство id элемента меню. | |
| text | string | Текст элемента. | |
| iconCls | string | CSS-класс, который отображает значок 16x16 в левой части элемента. | |
| href | string | Позиция страницы, которую нужно установить при нажатии на элемент меню. | |
| disabled | логическое значение | Определяет, отключать ли элемент меню. | false |
| onclick | функция | Функция, вызываемая при нажатии на элемент меню. |
Свойства меню
| Name | Type | Описание | Значение по умолчанию |
|---|---|---|---|
| zIndex | число | Стиль z-index меню, значение которого увеличивается относительно него. | 110000 |
| left | число | Левая позиция меню. | 0 |
| top | число | Верхняя позиция меню. | 0 |
| minWidth | число | Минимальная ширина меню. Это свойство доступно начиная с версии 1.3.2. | 120 |
| hideOnUnhover | логическое значение | Если установлено значение true, меню автоматически скрывается, когда курсор мыши покидает его. Это свойство доступно начиная с версии 1.3.5. | истина |
События меню
| Name | Parameters | Описание |
|---|---|---|
| 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>
|
Методы меню
| Name | Parameters | Описание |
|---|---|---|
| options | none | Возвращает объект options. |
| show | pos | Показывает меню в указанной позиции. Параметр pos имеет два свойства: left: новая левая позиция. top: новая верхняя позиция. |
| hide | none | Скрывает меню. |
| destroy | none | Уничтожает меню. |
| getItem | itemEl | Получает свойства пункта меню, включая свойство 'target' (указывающее на DOM-элемент этого пункта). Следующий пример демонстрирует, как получить указанный пункт по 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' содержит два свойства: target: объект DOM, пункт меню, для которого выполняется установка. text: строка, новое текстовое значение. Пример кода:
var item = $('#mm').menu('findItem', 'Save');
$('#mm').menu('setText', {
target: item.target,
text: 'Saving'
});
|
| setIcon | param | Устанавливает иконку указанного пункта меню. Параметр 'param' содержит два свойства: 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' задаёт свойства нового пункта. По умолчанию добавленный пункт будет пунктом меню верхнего уровня. Чтобы добавить подпункт меню, задайте свойство 'parent', указывающее на родительский элемент, у которого уже есть подпункты. Пример кода:
// append a top menu item
$('#mm').menu('appendItem', {
text: 'New Item',
iconCls: 'icon-ok',
onclick: function(){alert('New Item')}
});
// append a menu separator
$('#mm').menu('appendItem', {
separator: true
});
// 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 | Отключает пункт меню. |
Плагины jQuery EasyUI Другие расширения