2015-08-17 5 views
-1

У меня есть функция. Напримерзапустить функции с .keypress jQuery

<script> 

//Function1 
alert('Function 1 run') 

//Function2 
alert('Function 2 run') 

</script> 

мне нужно эта функция работать с .keypress jQuery, например, пресс special key 1 + special key 2 как Ctrl + Character

<script> 

('html').on('keypress' , ' Ctrl + A ' , function() { 

    alert('Function 1 run') 

}); 

('html').on('keypress' , ' Ctrl + B ' , function() { 

    alert('Function 2 run') 

}); 

</script> 

так, что бы у ребят мне предложить?

+0

пытались ли вы '$ (документ) .он ('...' нажатие – joyBlanks

+0

** [Link] (HTTP://stackoverflow.com/questions/2767126/how-to-detect-that-ctrlr-was-pressed)**, ** [Ссылка] (http://stackoverflow.com/questions/2903991/how-to-detect- ctrlv-ctrlc-using-javascript) ** и ** [Ссылка] (http://stackoverflow.com/questions/9374915/javascript-detect-ctrl-key-pressed-or-up-keypress-event-doest-trigger) **. –

+0

Вы можете использовать плагин jquery как hotkeys.js –

ответ

1

Событие keydown будет улавливать нажатие клавиши Ctrl и удерживается значение true. Несмотря на это, я думаю, что для этого лучше использовать некоторые плагины, потому что могут возникнуть проблемы с совместимостью с браузером.

$(document).on('keydown',function(event){ 
 
    if(event.ctrlKey && (event.which == 65)){ 
 
     alert('Ctrl+A'); 
 
    event.preventDefault(); 
 
    } 
 
    if(event.ctrlKey && (event.which == 66)){ 
 
     alert('Ctrl+B'); 
 
    event.preventDefault(); 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

1

Просто попробуйте это,

$(document).keypress(function(e) { 
    if(e.ctrlKey && e.key == "a") { 
     alert('function 1'); 
    } 
    if(e.ctrlKey && e.key == "b") { 
     alert('function 2'); 
    } 
});