Перестал работать .click() на елементе в расширении chrome
Здравствуйте.
Работало мое расширение для одного сайта, работали операции по клику мышки
$('#idAllSelect').children('.data').each(function() {
$(this).click(); //===работало
});
работало, пока держатели сайте не переделали методы работы, пока ковыряюсь в их коде но в закодированном 1 мегабайте текста буду еще долго ковырять, какие есть другие способы чтобы, заставить все таки сработать событие .click() может есть какие другие варианты? |
Проблему решил, оказалось что там обрабатывается не событие 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);
});
|
|
Цитата:
|
Signal,
тут где то похожая темка была
EleClick.dispatchEvent(new Event("mousedown"));
|
Цитата:
я сутки прокурил весь инет, и тока на этом сайте мой вариант заработал причем dispatchMouseEvent(EleClick, 'mouseover', true, true); dispatchMouseEvent(EleClick, 'mousedown', true, true); dispatchMouseEvent(EleClick, 'click', true, true); dispatchMouseEvent(EleClick, 'mouseup', true, true); любую из этих строк ремиш, и перестает работать |
видимо для всех этих событий назначены обработчики.
|
Цитата:
|
Цитата:
|
dispatchMouseEvent(EleClick, 'mouseover', true, true); dispatchMouseEvent(EleClick, 'mousedown', true, true); dispatchMouseEvent(EleClick, 'click', true, true); dispatchMouseEvent(EleClick, 'mouseup', true, true); любую из этих строк ремиш, и перестает работать соответсвенно пробовал менять последовательность, не пашет, тока в этом порядке ну это и логически понятно, но пашет тока так |
| Часовой пояс GMT +3, время: 12:15. |