Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2011, 00:07
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

Совершение действия при удерживании клавиши
Пишу приложение на js где можно перемещать объект по сцене при помощи клавиш left(37) right(39):

document.body.onkeydown = function(){
	if(event.keyCode==37){x-=20;}
	if(event.keyCode==39){x+=20;}
}


Но разные браузеры как всегда думают по разному и opera не понимает что при удерживании клавиши нужно повторять функцию, а остальные браузеры сразу при нажатии выполняют действия а после примерно через 0.5сек повторяют функцию циклом.

Как сделать ток чтобы при удерживании клавиши сразу выполнялось повторение функции, и работало на всех браузерах идентично?
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2011, 00:40
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

В Opera не существует события onkeydown, вместо него используйте onkeypress.

Source: http://www.w3schools.com/jsref/dom_obj_event.asp
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2011, 00:56
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

при этом onkeypress работает только в opera.

Как написать кроссбраузерный код?
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2011, 00:59
Аватар для DreamTheater
Профессор
Отправить личное сообщение для DreamTheater Посмотреть профиль Найти все сообщения от DreamTheater
 
Регистрация: 15.02.2011
Сообщений: 471

http://www.quirksmode.org/js/detect.html
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совершение действия через опредилённое время. (Sandr) Общие вопросы Javascript 15 15.04.2011 23:40
Почему в Opera исчезает курсор при нажатии клавиши Esc ? Маэстро Opera, Safari и др. 3 23.11.2010 16:31
Действия при наведении на элемент Garik Элементы интерфейса 6 24.08.2010 20:11
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 01:16
Действия при клике kefiads Ваши сайты и скрипты 5 18.06.2009 10:33