Javascript.RU

Голосование: Это теоретически реально вообще?
Опции опроса
Это теоретически реально вообще?

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

Вызов события имитацией нажатия пробела
Доброго времени суток, друзья!

Прошу помощи. Третью ночь не сплю.
Этот код запускается в консоли хром на чужом сайте.

Цель: Замена данных input и имитация ввода с клавиатуры для вызова обработчика.

Описание: Меняю текст input обычным val(). После этого нужно имитировать нажатие пробела в input и тогда запрос отправляется обработчику. Нашел на хабре пост dom 2 events. Взял от туда код имитации нажатия клавиши пробела. Вставил, подключил, не работает. Надеюсь Вы увидите причину. Спасибо большое.

Код:
// Задаем input id = element_id и меняем его value на переменную deposit
var deposit = '177';
$('.amount-text').attr('id', 'element_id');
$('#element_id').val(deposit);
var element = document.getElementById('element_id');

// Далее совершаем клик по input (может и не требуется)
var o = document.createEvent('MouseEvents');
o.initEvent('click', true, true); // Используется унаследованный метод модуля Events, а не аналогичный модуля MouseEvents, объект которого был создан
element.dispatchEvent(o);

// Далее пытаемся поставить пробел в input (кажется именно здесь я сделал не так)
if( window.KeyEvent ) // Для FF
 {
  var o = document.createEvent('KeyEvents');
  o.initKeyEvent( 'keyup', true, true, window, false, false, false, false, 32, 0 );
} 
else // Для остальных браузеров
 {
  var o = document.createEvent('UIEvents');
  o.initUIEvent( 'keyup', true, true, window, 1 );
  o.keyCode = 32; // Указываем дополнительный параметр, так как initUIEvent его не принимает
}
element.dispatchEvent(o);

Последний раз редактировалось Неумелый, 25.11.2015 в 03:01.
Ответить с цитированием
  #2 (permalink)  
Старый 25.11.2015, 07:55
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Неумелый, а с чего Вы решили, что тут нужно задействовать именно keyup? Пробел ведь можно по разному отслеживать, keydown/keypress/oninput.
Проще посмотреть какой запрос отправляется и отправлять такой же.
Ответить с цитированием
  #3 (permalink)  
Старый 25.11.2015, 13:40
Новичок на форуме
Отправить личное сообщение для Неумелый Посмотреть профиль Найти все сообщения от Неумелый
 
Регистрация: 25.11.2015
Сообщений: 3

Это почти не реально. Я пытался. Никак не могу найти. Может есть утилита какая?
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2018, 11:24
Новичок на форуме
Отправить личное сообщение для tushi.fari Посмотреть профиль Найти все сообщения от tushi.fari
 
Регистрация: 30.11.2018
Сообщений: 1

Сообщение от ruslan_mart Посмотреть сообщение
Проще посмотреть какой запрос отправляется и отправлять такой же.
а как/где посмотреть какой запрос отправляется ? подскажите. пожалуйста

ps такая же ситуация, знаю точно что задействован keydown, обработчик срабатывает только в момент нажатия клавиши, однако явно с каким-то контекстом

Последний раз редактировалось tushi.fari, 30.11.2018 в 11:28.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отмена .preventDefault() или возобновление события нажатия на клавишу клавиатуры antserg jQuery 15 13.06.2017 23:14
Программный вызов события нажатия клавиши клавиатуры msscriin Javascript под браузер 0 31.03.2015 08:52
вызов события на определенном элементе vvsh Events/DOM/Window 1 23.06.2010 06:17
Явный вызов процедуры обработки события. supchik Общие вопросы Javascript 18 27.01.2009 13:16
Вопрос про вызов события onClick skyfish Общие вопросы Javascript 12 27.12.2008 19:12