Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   dispatchEvent и text (textarea) (https://javascript.ru/forum/misc/71332-dispatchevent-i-text-textarea.html)

MadChildNSK 11.11.2017 04:52

dispatchEvent и text (textarea)
 
Доброго времени.

Сломал всю голову, подскажите. Для удобства приведу пример на яндексе (ya.ru).
В консоли напираю:
var element = document.getElementsByClassName('websearch-button__text'); // Получаем объект необходимого элемента
var o = document.createEvent('MouseEvents');  // Создаём объект события, выбран модуль событий мыши
o.initMouseEvent( 'click', true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null ); // Инициализируем объект события
element[0].dispatchEvent(o);  // Запускаем событие на элементе

Выполняю, всё срабатывает - имитируется клик по кнопке "поиск".
Мне нужно имитировать нажатие Enter в элементе textbox. Пишу:
var element = document.getElementsByClassName('input__control'); // Получаем объект необходимого элемента
var o = document.createEvent('KeyboardEvent');  // Создаём объект события, выбран модуль событий мыши
o.initKeyboardEvent("keypress",true,true,null,false,false,false,false,13,0);// Инициализируем объект события
element[0].dispatchEvent(o);  // Запускаем событие на элементе

возвращает: True и ни чего не происходит.
Почему так, подскажите?
P.S. В итоге мне на сайте нужно имитировать нажатие Enter в textarea.

ruslan_mart 11.11.2017 12:20

К сожалению, имитировать нажатие конкретной клавиши не получится.

Nexus 11.11.2017 14:24

MadChildNSK, если нужно отправить форму, то вызовите событие "submit" родительской формы элемента.


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