Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как заблокировать нажатие клавиш? 
V
    Опции темы
Burrr
Дата 26.6.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Суть задачи в следующем, нужно заблокировать нажатие клавиш, например, в textarea. Это можно выполнить так:
Код
<textarea onkeydown="return keyFunc()">
</textarea>
<script type="text/javascript">
function keyFunc() {
     return false;
}
</script>


Как аналогично провести блок клавиш, если обработчики написаны так:
Код

<body>
<textarea id=txtarea></textarea>
<script type="text/javascript">
if (document.all) { // IE
    document.getElementById("txtarea").onkeyup = function() {
        return false;
    }
} else { // Gecko
    document.getElementById("txtarea").addEventListener("keyup", function(event) {
        return false;
    }, false);
}
</script>
</body>


 smile  


--------------------
PM MAIL ICQ   Вверх
Sardar
Дата 27.6.2006, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Код
if(event.preventDefault) event.preventDefault();
event.returnValue = false;
return false;


Вешай лучше по прежнему на onkeydown. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Burrr
Дата 27.6.2006, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Sardar, не понял как?
Вот так не работает:
Код

<body>
<textarea id=txtarea></textarea>
<script type="text/javascript">
if (document.all) { // IE
    document.getElementById("txtarea").onkeyup = function(event) {
        event = window.event;
        if(event.preventDefault) event.preventDefault();
        event.returnValue = false;
        return false;
    }
} else { // Gecko
    document.getElementById("txtarea").addEventListener("keyup", function(event) {
        if(event.preventDefault) event.preventDefault();
        event.returnValue = false;
        return false;
    }, false);
}
</script>
</body>

 smile 
Цитата

Вешай лучше по прежнему на onkeydown.

К сожалению нужно использовать именно этот обработчик 


--------------------
PM MAIL ICQ   Вверх
Burrr
Дата 27.6.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Может быть я что-то не так понял в коде Sardarа?  


--------------------
PM MAIL ICQ   Вверх
Sardar
Дата 28.6.2006, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Burrr @  27.6.2006,  00:28 Найти цитируемый пост)
К сожалению нужно использовать именно этот обработчик

Тогда никак, когда зажигаеться onkeyup дефолтовое действие (вставить букву в данном случае) уже выполненно и возможно несколько раз. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Burrr
Дата 28.6.2006, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Плин, моя невнимательность меня погубит smile. Sardar, я не понял, что ты также советуешь сменить keyUp на keyDown.
Да, всё работает как как нужно. Спасибо!
 


--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.