Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Эмуляция события клавиатуры (Opera) (https://javascript.ru/forum/events/12659-ehmulyaciya-sobytiya-klaviatury-opera.html)

Shabol 27.10.2010 23:13

Эмуляция события клавиатуры (Opera)
 
Доброго времени суток...
"перегуглил" "переяндексил" весь инет))) но так и не понял... реально ли в опере эмулировать событие клавиатуры?...
Для FF код такой:
var myevt = document.createEvent('KeyEvents');
 myevt.initKeyEvent("keypress", true, true, window, false, false, false, false, keyCode, keyCode);
 target.dispatchEvent(myevt);


В итоге, target нормально реагирует на "программное" нажатие клавиши.
Опера ругается на на createEvent('KeyEvents')...

Вообще стоит конкретная задача: подмена нажатой клавиши.... пример нажали q - выдать й, на w - ц.... но это просто для примера...

В мозилле перехватываю keydown, сую target-у события свое событие, а текущее заворачиваю в fasle.... все работает как надо... в Опере сломал голову... гугл и яндекс говорят, что нельзя такое сделать - типо опера не довела стандарты в этой части до ума....

Вынесите вердикт) Спасите закипающий мозг)

monolithed 28.10.2010 07:43

Цитата:

Сообщение от Shabol
Вообще стоит конкретная задача: подмена нажатой клавиши.... пример нажали q - выдать й, на w - ц.... но это просто для примера...

создайте массив данных по типу ниже приведенного и не изобретайте велосипед:
<div id="div">*</div>
<script type="text/javascript">
document.getElementById('div').innerHTML=["пн","вт", "cp","чт","пт","сб","вс","7"][new Date().getDay()]
</script>

Shabol 28.10.2010 12:25

Цитата:

Сообщение от monolithed (Сообщение 76236)
создайте массив данных по типу ниже приведенного и не изобретайте велосипед:
<div id="div">*</div>
<script type="text/javascript">
document.getElementById('div').innerHTML=["пн","вт", "cp","чт","пт","сб","вс","7"][new Date().getDay()]
</script>

Если честно не понял поста....
Если имеется ввиду замена одних букв на другие, то это не то что мне нужно....
Это не будет работать, если человек нажал F2, а мне нужно послать элементу F3....

raks123 10.12.2014 23:03

очень интересная тема я сам в гугл хроме пытаюсь такое же сделать, не подскажите как успехи?
var o = document.createEvent('UIEvents');
  o.initUIEvent( 'keyup', true, true, window, 1 );
  o.keyCode = 13;

попробуйте так что ли


Часовой пояс GMT +3, время: 20:11.