2013-05-22 1 views
0

Вот все, что я делаю:Удерживая клавишу стрелки постоянно вызывает KeyUp событие

$(document).keydown(function(e) { 
    e.preventDefault(); 
    console.debug(e.keyCode, "down"); 
}); 
$(document).keyup(function(e) { 
    e.preventDefault(); 
    console.debug(e.keyCode, "up"); 
}); 

Вы можете увидеть проблему здесь: http://jsfiddle.net/pJgyu/32530/

Если я, удерживая клавишу с буквой, KeyDown не срабатывает постоянно до тех пор, Я отпустил. Затем срабатывает клавиатура. Это похоже на правильное поведение.

Если я удерживаю клавишу со стрелкой, ключ и клавиатура чередуются постоянно. Почему зажигание клавишных?

Я пробовал это без «e.preventDefault();».

Также, удерживая клавишу со стрелкой, буквы букв SOMETIMES отображают то же странное поведение.

+1

Он работает хорошо для меня в хроме. –

ответ

2

Ваша клавиатура может быть сломана. У меня нет этой проблемы, когда я пытаюсь воспроизвести ее в jsfiddle.

+0

Работает для меня тоже с помощью Google Chrome v26.0.1410.64' – displayname

+1

Ну, я чувствую себя наркотиком. Я пробовал на другом ПК, и, похоже, он работает нормально. Спасибо за ответы. – user2411357

+0

ха-ха не беспокоится! происходит со всеми нами. – vijrox

0

Это не только клавиатура, которая должна быть сломана. У меня была такая же проблема, и я потратил некоторое время на поиски и отладку, и только после нескольких болезненных часов я вспомнил о своем программном обеспечении для сопоставления ключей, которое я использую. Мои сценарии AutoHotkey делают несколько вещей со специальными ключами, такими как стрелки, и это стало причиной этой проблемы.