Кроссбраузерная обработка нажатий клавиш 
		
		
		
		Привет. 
	Есть у кого то функция (или ссылка посмотреть) чтобы однозначно для всех браузеров можно было обработать и виртуальные коды клавиш и unicod символы? Например такого типа: 
function (what, event)
{
    if (what == 'keypress')
    {
        // получаем код unicod символа по event.which или пусто если не символ
        return code;
    }
if (what == 'keyup/keydown')
    {
        // получаем код виртуальной клавиши по event.keyCode и event.which
        return code;
    }
    
}
Думал в jQuery это решено, но смотрю там тоже есть путаница. Я понимаю, что можно и самому поперебирать, но замечаю что в той же опере от версии к версии меняются подходы, так что хотелось бы одну 100% правильную иметь где все уже учтено.:)  | 
	
		
 В принципе при более подробном изучении все примерно нормально в jQuery - пару приколов в опере, и главное их не мешать - обработку символьных клавиш с управляющими .... 
	 | 
	
		
 ну расскажи тогда уж, что накопал. Ты ж не сам с собой разговариваешь? ;) 
	 | 
	
		
 Цитата: 
	
 Получается значит вот что: Исходные данные: 1-ый случай - обрабатываем нажатие кнопок, соответствующих видимым символам (алфавитно-цифровые, ...) 
$('...').keypress(function(e) {
/*
     e.which
держит unicod значение символа, управляющие кнопки обрабатывать тут не следует (из-за Chrome и не только )
*/
});
2-ой случай - обрабатываем нажатие управляющих кнопок (стрелки, backspace, esc ...) 
$('...').keyup/keydown(function(e) {
/*
    e.keyCode
держит код нажатой виртуальной клавиши. Тут обрабатываем [B]только[/B] нажатие управляющих кнопок.
Тут есть тонкость в Опере: если нужно обрабатывать кнопку стрелка вниз(keyCode==40) или кнопку Tab(keyCode==9), 
то не надо это делать в keyup(событие не произойдет), а только в keydown.
*/
});
Вот, пока все.:)  | 
	
		
 keypress для меня вообще тайна, покрытая мраком... Каждый браузер генерит событие по-разному... Уж лучше тогда обходиться связкой keydown/keyup, для которой нетрудно написать обёртку. 
	Насчёт Tab: событие keyup происходит уже не на том элементе, где был keydown, а там, куда попал фокус. В этой ситуации, после keydown нужно прикручивать blur.  | 
	
		
 Цитата: 
	
  | 
	
		
 Я вообще в jQuery смотрел. Там многое уже наверное решено. 
	Цитата: 
	
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 05:06. |