Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2013, 19:18
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 04.06.2012
Сообщений: 11

Отключить автоповтор для onkeydown\onkeypress
Доброго времени суток, ява-гуру.

Мои познания в яваскрипте еще ничтожно малы, прошу Вас о помощи.

Есть следующая функция по нажатию клавиши:
if(e.keyCode==119)  //"W" - press
{
var last_id = new XMLHttpRequest(); // Новый запрос
        last_id.open('post', 'php/4.php', true) // post, куда, true
        last_id.setRequestHeader('Contewt-Type', 'application/x-www-form-urlencoded'); 
        last_id.send("m")
}


По нажатию на клавишу "W" функция методом пост записывает данные в БД, все работает, все хорошо .... но столкнулся с проблемой авто-повторения во время зажатия клавиши, так как MySQL висит на перепиленном роутере с юниксом на борту, железяка загинается от непрерывного обращения к базе ... для нормальной работы будет достаточно одной записи по событию нажатия и одно по отжатию ...

Прошу помощи в игнорировании или отключении автоповтора функции во время зажатия клавиши, если это возможно.

Заранее очень признателен.

Последний раз редактировалось drenadan, 29.01.2013 в 19:21.
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2013, 20:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

keydown, keypress зацикливаются если удерживать кнопку, а вот keyup происходит один раз - при отпускании кнопки. Так что либо использовать keyup для выполнения запроса (если это подойдет), либо завести флаг, проверять его по keydown, если не установлен, устанавливать и выполнять действие, иначе игнорить. а по keyup сбрасывать флаг.
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2013, 15:20
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 04.06.2012
Сообщений: 11

danik.js


Спасибо, с флагами все получилось !

Последний раз редактировалось drenadan, 30.01.2013 в 16:25.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31
Модуль для web-to-print проекта Anton2507 Работа 0 29.07.2012 11:35
добавление стилей для множества элементов ??? Общие вопросы Javascript 7 14.06.2012 01:50
Некорректная работа get(set)Attribute в IE для элементов img back to back Internet Explorer 15 09.06.2012 16:52