Javascript.RU

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

Перестал работать .click() на елементе в расширении chrome
Здравствуйте.
Работало мое расширение для одного сайта, работали операции по клику мышки

$('#idAllSelect').children('.data').each(function() {
  $(this).click(); //===работало
});


работало, пока держатели сайте не переделали методы работы, пока ковыряюсь в их коде но в закодированном 1 мегабайте текста буду еще долго ковырять, какие есть другие способы чтобы, заставить все таки сработать событие .click() может есть какие другие варианты?
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2018, 11:52
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Проблему решил, оказалось что там обрабатывается не событие click, а прослушивает mousedown

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));
  target.dispatchEvent(e);
};

//===И сам клик, в моем случае
$('#idAllSelect').children('.data').each(function() {
//  $(this).click(); //===работало
	let Idleme = $(this).attr('id');
	let EleClick = document.getElementById(Idleme);
        dispatchMouseEvent(EleClick, 'mouseover', true, true);
        dispatchMouseEvent(EleClick, 'mousedown', true, true);
        dispatchMouseEvent(EleClick, 'click', true, true);
        dispatchMouseEvent(EleClick, 'mouseup', true, true);		

});
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2018, 16:18
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

http://api.jquery.com/trigger/
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2018, 18:44
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от Nexus Посмотреть сообщение
http://api.jquery.com/trigger/
да я его пробовал, не пашет
Ответить с цитированием
  #5 (permalink)  
Старый 12.03.2018, 18:53
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Signal,
тут где то похожая темка была

EleClick.dispatchEvent(new Event("mousedown"));
Ответить с цитированием
  #6 (permalink)  
Старый 12.03.2018, 19:00
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от j0hnik Посмотреть сообщение
Signal,
тут где то похожая темка была

EleClick.dispatchEvent(new Event("mousedown"));
самое, что интересно, через new Event тоже не пахало
я сутки прокурил весь инет, и тока на этом сайте мой вариант заработал
причем

dispatchMouseEvent(EleClick, 'mouseover', true, true);
dispatchMouseEvent(EleClick, 'mousedown', true, true);
dispatchMouseEvent(EleClick, 'click', true, true);
dispatchMouseEvent(EleClick, 'mouseup', true, true);

любую из этих строк ремиш, и перестает работать

Последний раз редактировалось Signal, 12.03.2018 в 19:03.
Ответить с цитированием
  #7 (permalink)  
Старый 12.03.2018, 19:16
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

видимо для всех этих событий назначены обработчики.
Ответить с цитированием
  #8 (permalink)  
Старый 12.03.2018, 19:18
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

Сообщение от j0hnik Посмотреть сообщение
видимо для всех этих событий назначены обработчики.
хз курил их код там тока mousedown
Ответить с цитированием
  #9 (permalink)  
Старый 12.03.2018, 20:24
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от Signal
да я его пробовал, не пашет
Вы все 4 события подряд пытались запустить или только "mousedown"?
Ответить с цитированием
  #10 (permalink)  
Старый 12.03.2018, 21:19
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

dispatchMouseEvent(EleClick, 'mouseover', true, true);
dispatchMouseEvent(EleClick, 'mousedown', true, true);
dispatchMouseEvent(EleClick, 'click', true, true);
dispatchMouseEvent(EleClick, 'mouseup', true, true);

любую из этих строк ремиш, и перестает работать

соответсвенно пробовал менять последовательность, не пашет, тока в этом порядке ну это и логически понятно, но пашет тока так

Последний раз редактировалось Signal, 12.03.2018 в 21:21.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт Jquery перестал верно работать в Chrome swest jQuery 2 12.12.2014 19:57
Перестал работать скрипт landerorly Общие вопросы Javascript 14 05.05.2014 19:43
Фон в расширении google chrome sinbad13 Javascript под браузер 1 05.12.2012 11:10
Перестает работать кнопка submit в форме, в Chrome MCB Javascript под браузер 1 21.04.2012 22:16
Скрипт перестал работать в новых версиях firefox, Opera и Chrome, а в IE работает polbear Javascript под браузер 3 30.06.2011 09:34