Как определить, что Ctrl + R был нажат?

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

26
задан Fabrizio 16 September 2017 в 20:29
поделиться

8 ответов

Вы должны использовать функцию keydown для захвата символов Ctrl . Вот моя реализация Ctrl + A :

    $(document).keydown(function(e) {
        if (e.keyCode == 65 && e.ctrlKey) {
            alert('ctrl A');
        }
    });

Ctrl-R сложнее, поскольку в большинстве браузеров, то есть Обновить страницу , что означает, что javascript не запускается, страница обновляется.

Кроме того, примечание: значение keyCode отличается в функциях keydown / keyupup от функций нажатия клавиш.

РЕДАКТИРОВАТЬ: Удалена переменная ctrl, забыли о ctrlKey

47
ответ дан Fabrizio 16 September 2017 в 20:29
поделиться

Это код, который я использую для отключения обновления в IE и Firefox (это хорошо работает для F5 , Ctrl + F5 и Ctrl + R )

<script language="javascript" type="text/javascript">
    //this code handles the F5/Ctrl+F5/Ctrl+R
    document.onkeydown = checkKeycode
    function checkKeycode(e) {
        var keycode;
        if (window.event)
            keycode = window.event.keyCode;
        else if (e)
            keycode = e.which;

        // Mozilla firefox
        if ($.browser.mozilla) {
            if (keycode == 116 ||(e.ctrlKey && keycode == 82)) {
                if (e.preventDefault)
                {
                    e.preventDefault();
                    e.stopPropagation();
                }
            }
        } 
        // IE
        else if ($.browser.msie) {
            if (keycode == 116 || (window.event.ctrlKey && keycode == 82)) {
                window.event.returnValue = false;
                window.event.keyCode = 0;
                window.status = "Refresh is disabled";
            }
        }
    }
</script>

Если вы не хотите использовать useragent для определения типа браузера ($ .browser использует навигатор .userAgent для определения платформы), вы можете использовать

if('MozBoxSizing' in document.documentElement.style) - возвращает true для firefox

5
ответ дан Fabrizio 16 September 2017 в 20:29
поделиться

Существует логическое свойство ctrlKey , которое вы можете использовать здесь ...

$(document).keypress(function(e) { 
   alert("Ctrl is pressed: " + e.ctrlKey); 
}); 
1
ответ дан Josh Stodola 16 September 2017 в 20:29
поделиться
 $(document).ready(function () {
     $(document).keyup(function (e) {
         if (e.keyCode == 81 && e.ctrlKey) { //CTRL+Q
             alert("CTRL+Q");
         } else if (e.keyCode == 27) { //ESCAPE
             alert("escape");
         } else if (e.keyCode == 67 && e.altKey) { // ALT+C
           alert("ALT+C");
        }     
    });
});

коды клавиш

1
ответ дан ata 16 September 2017 в 20:29
поделиться

Код клавиши для клавиши Ctrl : 11.

$(document).keypress(function(e) { 


  alert("Ctrl is pressed: " + e.ctrlKey); 
}); 
0
ответ дан Fabrizio 16 September 2017 в 20:29
поделиться
@HostListener('window:keydown', ['$event'])
  keyEvent(event: KeyboardEvent) {

   if (event.ctrlKey && event.keyCode == 82)
    {

    }
  }
0
ответ дан M.S. Murugan 16 September 2017 в 20:29
поделиться

Здесь - это полный список кодов клавиш, которые вы можете использовать.

5
ответ дан 28 November 2019 в 04:42
поделиться

почему вы не используете e.ctrlKey ?

 if (e.keyCode == 65 && e.ctrlKey) {
     alert('ctrl A');
 }

edit: вот подходящая функция для определения нажатия клавиш ctrl-r и остановки перезагрузки браузера.

function keydown(e) {
    if (e.ctrlKey && e.keyCode == 82) {
        // 82 = r

        // TODO: your thing.

        if (e.preventDefault) {
            e.preventDefault();
        }
        else {
            return false;
        }
    }
}

Я новичок в jquery, думаю, вы бы сделали

$(document).keydown(keydown);

, верно?

2
ответ дан 28 November 2019 в 04:42
поделиться
Другие вопросы по тегам:

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