Событие выделения текста через Shift
Подскажите как в JS можно отследить выделение текста с помощью клавиши Shift и стрелок (без мыши).
У меня реализован сайт, где при выделении текста над этим текстом появляется некий элемент. Это работает с мышью - отслеживаю mouseup и click. Как отслеживать событие когда текст выделен с помощью Shift + стрелка?
Ответы (2 шт):
Автор решения: Max Watson
→ Ссылка
Вы можете отслеживать комбинации клавиш которые нажимает пользователь. Писал с jQuery
$(document).keyup(function(e) {
if (e.shiftKey && e.keyCode === 37) {
console.log('Нажаты Shift и ←');
}
if (e.shiftKey && e.keyCode === 39) {
console.log('Нажаты Shift и →');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Автор решения: Iurii
→ Ссылка
Чистый JS.
getSelection() возвращает объект selectionRange
toString() меняет в строку.
function getSelectedText() {
if (window.getSelection()) {
let select = window.getSelection();
alert(select.toString());
}
}