Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   селект с shift (https://javascript.ru/forum/events/15492-selekt-s-shift.html)

17dufa 01.03.2011 16:10

селект с shift
 
Добрый день.
хотелось бы на строки в таблице заиметь способ выделения (выделенная строка получает дополнительный класс и меняет фоновый цвет) аналогичный проводнику, с поддержкой Shift и Ctrl. сейчас сделал кучей кода причем Shift и Ctrl пришлось заменить на буквенные клавиши, так как не удалось отключить стандартное поведение - по Shift выделяется текст внутри td, по Ctrl выделяется ячейка.
итого 2 вопроса:
1. Есть готовые решения? может я ваще зря огород городил?
2. как зарубить стандартное поведение по Shift/Ctrl? пробовал вешаться на onClick у tr на фазе захвата и вызывать e.stopPropagation(); или возвращать false - не помогает:(

solidarik 02.08.2011 09:24

Решение 2-го вопроса - в нужном месте применить:
if (window.getSelection) { window.getSelection().removeAllRanges();
else if (document.selection && document.selection.clear) document.selection.clear();

solidarik 02.08.2011 09:41

Таким образом можно незаметно убрать появившееся выделение.
Пример отдельного компонента: http://recens.ru/jquery/plugin_shifty.html. Но он специфичный.
Применительно к таблицам подойдет и решение первого поста.


Часовой пояс GMT +3, время: 22:17.