Событие выделения текста через 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());

    }

}

→ Ссылка