Как отличить ключи плюс/равные и равные в javascript?

Я хочу использовать клавиши "плюс" и "минус", чтобы запускать функции увеличения и уменьшения масштаба в моем веб-приложении. Следующий код работает, в основном:

$(document).keydown(function(e) { // requires jQuery
    console.log(e.keyCode);
    if (e.keyCode === 189) { // minus
        zoom_out();
        return false;
    }
    if (e.keyCode === 187) { // plus
        zoom_in();
        return false;
    }
});

key code 187 он возвращался при нажатии клавиши =/+, а также клавиши клавиатуры+. Это нормально, если нечетно, но 187 также возвращается с клавиатуры = key, которую я не хочу использовать для масштабирования. Как я могу различать клавиши +/=, = и +?

Ответ 1

Используйте свойство shiftKey.

Если e.shiftKey - true (вы уже догадались!) Сдвиг удерживается и поэтому e.keyCode === 187 && e.shiftKey означает +.