keypress, ctrl + c (или что-то вроде этого)

Я пытаюсь создать ярлыки на создаваемом мной веб-сайте. Я знаю, что могу сделайте это так:

if(e.which == 17) isCtrl=true;
if(e.which == 83 && isCtrl == true) {
    alert('CTRL+S COMBO WAS PRESSED!')
    //run code for CTRL+S -- ie, save!
    e.preventDefault();
}

Но в приведенном ниже примере проще и меньше кода, но это не событие комбинированного нажатия клавиш:

$(document).keypress("c",function() {
  alert("Just C was pressed..");
});

Итак, я хочу знать, могу ли я, используя этот второй пример, сделать что-то вроде:

$(document).keypress("ctrl+c",function() {
  alert("Ctrl+C was pressed!!");
});

возможно ли это? Я пробовал, и это не сработало, что я делаю не так?

50
задан Brian Tompsett - 汤莱恩 19 August 2019 в 01:23
поделиться

1 ответ

По состоянию на 2019 это работает (в Chrome, по крайней мере)

$(document).keypress(function(e) {
    var key = (event.which || event.keyCode) ;
  if(e.ctrlKey) {
        if (key == 26) { console.log('Ctrl+Z was pressed') ; }
        else if (key == 25) { console.log('Ctrl+Y was pressed') ; }
        else if (key == 19) { console.log('Ctrl+S was pressed') ; }
    else { console.log('Ctrl', key, 'was pressed') ; }
    }
});
0
ответ дан 7 November 2019 в 10:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: