Эмулировать событие event
Всем доброго времени суток ув. Форумчене :victory:
Впервые на Вашем форуме, прошу камнями не кидать, если что не так:stop: :help: Нужна ваша помощь в следующем:help: На странице ВК есть поле для вставки текста: <textarea id="post_field" class="fl_l" onkeyup="Wall.postChanged()" onkeydown="onCtrlEnter(event, Wall.sendPost)" onfocus="Wall.showEditPost()" style="width: 369px; padding-right: 3px; overflow: hidden; resize: none; height: 11px;"></textarea> Пишу скрипт на Autoit, который будет заполнять это поле: Код:
$oIE = _IECreate ("http://vk.com/club46162850") ;<=== Создаем новую страницу IE и записываем Obj в переменную $oIE Предпологаю, что происходит так, из за обработчиков "onkeydown" и "onkeyup", ведь скрипт не сообщает что кнопки физически нажимались. Вопрос, что передает Event "onkeydown" в функцию onCtrlEnter(event, Wall.sendPost), предпологаю, что key.code нажатой клавиши. И как эмулировать, заставить поверить страницу в том, что клавиша действительно была нажата. Достаточно одной клавиши {SPACE}. Подскажите пожалуйста, как это работает???:help: :help: :help: :help: |
Не знаю насчет IE (кстати, какой версии?), но в FF можно так:
var event = new KeyboardEvent('keydown', {keyCode: 0x20}); element.dispatchEvent(event); |
Посмотри сначала на странице какое событие прослушивается. Посмотреть можно в DevTools хрома.
|
Цитата:
Цитата:
Кстати после фокуса оно становится активным элементом документа, то есть: document.activeElement.dispatchEvent(...) |
Отправил:
var event = new KeyboardEvent('keydown', {keyCode: 0x20}); document.activeElement.dispatchEvent(event); Получил: true Но изменений никаких не произошло :( |
Значит скрипт не реагирует на keydown. Возможно на input или на keypress среагирует. Можешь поизучать код скрипта.
|
Часовой пояс GMT +3, время: 04:00. |