jQuery - Урок 14. Плагин Selectable - выбираем элементы
Плагин Selectable позволяет выбирать (выделять) элементы, щелкая по ним мышкой (для множественного выбора - с нажатием и
удержанием клавиши Ctrl или передвижением указателя мыши с удержанием в нажатом состоянии ее левой клавиши).
Предположим, мы хотим реализовать вот такой пример:
Проверьте свои знания, выделите в списке фрукты.
абрикос
помидор
яблоко
груша
репа
виноград
редис
Сделать это крайне просто. Html-код нашей страницы:
jQuery плагин selectable
Проверьте свои знания, выделите в списке фрукты.
абрикос
помидор
яблоко
груша
репа
виноград
редис
На странице script.js укажем, что элементы списка можно выбирать:
$(document).ready(init);
function init(){
$(function(){
$("#les14_selectable").selectable()
});
};
Обратите внимание, классы ui-selecting и ui-selected задают стили для выбранных элементов.
Наш список готов, пункты выбираются, но текст справа не появляется. Это потому, что мы не определили функцию для события
selected, которое наступает по окончании выбора для каждого выбранного элемента. Давайте это исправим на странице script.js:
$(document).ready(init);
function init(){
$(function(){
$("#les14_selectable").selectable({
selected: function(event, ui) {
var a=ui.selected;
if ($(a).hasClass("fruit")){
$("#les14_ex2").text("Да, " + ui.selected.innerHTML + " это фрукт! ");
}
else {
$("#les14_ex2").text("Нет, " + ui.selected.innerHTML + " это не фрукт! ");
}
}
})
});
};
start - событие наступает с началом процесса выбора элемента.
selecting - событие наступает во время выбора элемента.
stop - событие наступает по окончании процесса выбора элемента.
unselected - событие наступает по окончании выбора элемента, для элементов не попавших в выбор.
unselecting - событие наступает во время процесса выбора, когда элемент, присутствующий в выборе,
удаляется из него.
При использовании этих параметров мы можем определить функцию, которая принимает два аргумента – event (объект события)
и ui (специальный объект, содержащий информацию о выделенном элементе).
Как и у остальных плагинов UI, у плагина Selectable есть ряд параметров.
Давайте их рассмотрим:
autoRefresh - определяет пересчет положения и размеров области выделения при попадании туда очередного
элемента (по умолчанию установлено значение true). Значение false отключает пересчет.
Теперь выделяются не элементы списка, а абзацы, являющиеся потомками элемента.
tolerance - определяет способ выделения нескольких элементов. Возможны два значения:
touch: допускает выбор нескольких элементов путём перетаскивания мыши (по умолчанию),
fit: выбор нескольких элементов путём перетаскивания мыши запрещен (только с нажатой клавишей Ctrl).
Как и у остальных плагинов UI, у плагина Selectable есть несколько методов, с помощью которых можно управлять им после
инициализации: destroy, disable, enable, option и refresh. Первые четыре нам уже известны по предыдущим урокам.
Метод refresh используется, если для параметра autoRefresh установлено значение false.
С помощью этого метода можно пересчитать положение и размеры области выделения.
На этом подошли к концу наши уроки по jQuery. Целью этих уроков было ввести вас в мир jQuery и показать основные возможности.
Мы научились обращаться и манипулировать различными элементами объектной модели документа, научились осуществлять визуальные
эффекты и узнали, как работать с плагинами. Возможности библиотеки на этом не исчерпываются, даже различных плагинов и виджетов,
предназначенных для создания элементов пользовательских интерфейсов, еще очень много, но освоить их вы можете
уже самостоятельно, по мере необходимости. Удачи!