Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2019, 06:32
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 04.05.2016
Сообщений: 137

Как при помощи jquery получить dispatchEvent?
вообщем проблема такая, из расширения надо клацнуть на нужный элемент на странице, на некоторыйх сайтах работает по обычному
$(elem).click();
или 
$(elem).trigger();

но есть такие, на которых это не срабатывает, нашел решение вот такое

var dispatchMouseEvent = function(target, var_args) {
  var e = document.createEvent("MouseEvents");
  // If you need clientX, clientY, etc., you can call
  // initMouseEvent instead of initEvent
  e.initEvent.apply(e, Array.prototype.slice.call(arguments, 1));
  try {
  target.dispatchEvent(e);
  } catch (Err) {
	  console.log(Err);
  }
};    


ну и сам клик:
	 let EleClick = document.getElementById('idElem');
        dispatchMouseEvent(EleClick, 'mouseover', true, true);
        dispatchMouseEvent(EleClick, 'mousedown', true, true);
        dispatchMouseEvent(EleClick, 'click', true, true);
        dispatchMouseEvent(EleClick, 'mouseup', true, true);

но возникла проблема, елемент на который надо кликнуть в результате обработки сайта получает ссылку на него в виде jquery объекта

и соответсвенно эта функция перестает работать, вернее матерится на 
  target.dispatchEvent(e);


как из jquery объекта получить ссылку в виде результата после document.getElementById('idElem'); или аналогичных?
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2019, 08:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,055

Сообщение от Signal
jquery объект[0]
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2019, 10:09
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 04.05.2016
Сообщений: 137

Сообщение от рони Посмотреть сообщение
а по конкретнее? не понял, причем тут обджект 0, в если у меня 1 елемнет и есть в переменной как объект jquery
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2019, 10:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,055

Сообщение от Signal
а по конкретнее?
let EleClick = $(elem)[0];
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2019, 10:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,055

Signal,
document.getElementById('idElem') === $('#idElem')[0] так понятнее?
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2019, 11:12
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 04.05.2016
Сообщений: 137

понял, все пашет благодарствую
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить видимость элемента при изменении ширины другого элемента (jquery)? Nick2450 Events/DOM/Window 0 28.04.2017 13:05
как получить имя файла при загрузке его petrovich Общие вопросы Javascript 5 26.07.2015 18:01
Как на выбраной фотографии при помощи jQuery добавить checkbox? Dmitriy78781 jQuery 1 16.04.2013 15:29
как получить сообщение об ошибке при загрузке изображения? wild_snail Общие вопросы Javascript 2 05.04.2012 12:23
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00