Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2008, 13:21   #1
bashkos
Пользователь
 
Аватар для bashkos
 
Регистрация: 03.08.2008
Сообщений: 30
По умолчанию Нажатие клавиш

Подскажите, пожалуйста, как отделить нажатие символьных клавиш от других.

Пример: точка имеет KeyCode = 46, как и DEL, что мне делать, чтобы запретить точку и разрешить клавишу DEL?

Заранее благодарен.
bashkos вне форума Ответить с цитированием
Старый 13.09.2008, 18:46   #2
bashkos
Пользователь
 
Аватар для bashkos
 
Регистрация: 03.08.2008
Сообщений: 30
По умолчанию

АУ!!! Никто не знает что ли? Подскажите пожалуйста, очень надо. Везде обыскался, нигде нету.
bashkos вне форума Ответить с цитированием
Старый 13.09.2008, 20:13   #3
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Точка имеет номер 190.
Проверь сам:
Код:
<html>
<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;

if(window.event) // IE
	{
	keynum = e.keyCode;
	}
else if(e.which) // Netscape/Firefox/Opera
	{
	keynum = e.which;
	}
keychar = String.fromCharCode(keynum);
document.getElementById('name').innerHTML = keynum;
}
</script>

<form>
Type some text:
<input type="text" onkeydown="noNumbers(event)" />
</form>
<div id="name"></div>

</html>
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?

Последний раз редактировалось Johnatan; 13.09.2008 в 20:15.
Johnatan вне форума Ответить с цитированием
Старый 13.09.2008, 20:27   #4
bashkos
Пользователь
 
Аватар для bashkos
 
Регистрация: 03.08.2008
Сообщений: 30
По умолчанию

в onKeyDown - да, а в onKeyPress - 46. И мне нужно обробатывать именно onKeyPress, потомучто я еще и некоторые другие символы запрещаю.
bashkos вне форума Ответить с цитированием
Старый 14.09.2008, 01:12   #5
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Во-первых, пожалуйста, ставьте вопрос как можно точнее.
Во-вторых, onKeyPress - используется только для печатных символов (коим Delete не является).
В-третьих, есть возможность это обойти, но способ обхода настолько громоздок и сложен, что лучше использовать onKeyUp или onKeyDown. Иначе прийдётся делать сниппеты для разных броузеров, обходить обработку DOM в них и вытаскивать номер нажатой клавиши напрямую (чего я лично не делал, но читал, что такое возможно, и даже где-то видел громоздкий код для этого).

Если вам крайне необходимо это, попробуйте посмотреть ссылки вот тут: http://www.google.com/search?hl=ru&q...1%81%D0%BA&lr=
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 14.09.2008, 18:45   #6
bashkos
Пользователь
 
Аватар для bashkos
 
Регистрация: 03.08.2008
Сообщений: 30
По умолчанию

Ладно, пасиб за помощь - попрубую разобраться.
bashkos вне форума Ответить с цитированием
Старый 23.09.2008, 19:01   #7
bashkos
Пользователь
 
Аватар для bashkos
 
Регистрация: 03.08.2008
Сообщений: 30
По умолчанию

Функция есть. Если кому-то вдруг понадобится, вот:
http://forum.javascript.ru/events/17...nalnykh-4.html
bashkos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перехватить нажатие клавиш в Windows? JoanM Win Api 15 31.05.2013 14:42
Как в Си обработать нажатие управлавляющих клавиш ? feranic Общие вопросы C/C++ 5 14.04.2008 19:20
Операторы ветвлений (нажатие клавиш) barahlysh Общие вопросы C/C++ 6 12.12.2007 12:19
Нажатие клавиш VanDerKeen Win Api 1 03.06.2007 21:13