Как я мог определить, который Ctrl / Сдвиг / клавиши Alt нажимаются в следующем коде?
$("#my_id").click(function() {
if (<left control key is pressed>) { alert("Left Ctrl"); }
if (<right shift and left alt keys are pressed>) { alert("Right Shift + Left Alt"); }
});
Ну, это не будет работать во всех браузерах, только в IE 8. Microsoft реализовала возможность определять, какая (правая/левая) клавиша была нажата. Вот ссылка http://msdn.microsoft.com/en-us/library/ms534630(VS.85).aspx
Я также нашел эту замечательную статью о событиях keypress, keyup, keydown в браузерах. http://unixpapa.com/js/key.html
$('#someelement').bind('click', function(event){
if(event.ctrlKey) {
if (event.ctrlLeft) {
console.log('ctrl-left');
}
else {
console.log('ctrl-right');
}
}
if(event.altKey) {
if (event.altLeft) {
console.log('alt-left');
}
else {
console.log('alt-right');
}
}
if(event.shiftKey) {
if (event.shiftLeft) {
console.log('shift-left');
}
else
{
console.log('shift-right');
}
}
});
$('#someelement').bind('click', function(event){
if(event.ctrlKey)
console.log('ctrl');
if(event.altKey)
console.log('alt');
if(event.shiftKey)
console.log('shift');
});
Я не знаю, можно ли проверить наличие клавиш влево / вправо в событии щелчка, но я не думаю, что это возможно.
Используйте js-горячие клавиши . Это плагин jQuery.
Это тест, чтобы показать, что вы ищете. Он также показывает вам, как захватывать стандартные клавиши влево, вправо, вверх и вниз, а также клавиши с цифровой клавиатуры (с цифрами 2,4,6,8)! http://afro.systems.googlepages.com/test-static-08.html