2014-12-08 3 views
0
$(document).keydown(function(event){ 
    console.log('keydown function called: ' + event.which); 
}); 

Приведенный выше код отображает только клавишу 2 раза, когда я нажимаю одну и ту же клавишу подряд. Если я чередуюсь между двумя разными символами (или просто набираю разные символы), тогда он отображает их все. С нажатием клавиши это хуже; он отображает только первое нажатие и ничего не происходит после повторного нажатия той же клавиши.keypress and keydown in firefox

окна О для Firefox говорит 34,0, Windows 7.

Есть ли обходной путь я могу использовать?

+0

Глядя на консоль Firebug? – skobaljic

+3

Возможно, это показывает номер слева от журнала, сколько раз он вызывался, как в Chrome. Если нет, для обходного пути используйте Chrome ... – Jonathan

+0

Посмотрите на функцию keyup – baao

ответ

0

Когда выход повторяется на консоли, обычно у вас есть индикатор с количеством итераций. Чтобы избежать этого, вы можете добавить что-то уникальное для вывода. Вот пример с меткой времени:

$(document).keydown(function(event){ 
    console.log('keydown function called: ' + event.which + ' ' + event.timeStamp); 
}); 
+0

А-а, это исправлено. Благодарю. – lumpynose

0

Я бы порекомендовал использовать .bind для этого. Кроме того, в зависимости от браузера он может не показывать каждый console.log, когда он запускается одной и той же функцией. Используйте Google Chrome, и он просто покажет вам сообщение, но увеличит количество раз, когда он был запущен.

$(document).bind('keydown', function() { 

    //do whatever 

});
Смежные вопросы