Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Консоль: вызвать срабатывание обработчика событий (https://javascript.ru/forum/events/53548-konsol-vyzvat-srabatyvanie-obrabotchika-sobytijj.html)

Ginibe 08.02.2015 17:17

Консоль: вызвать срабатывание обработчика событий
 
Приветствую полюбопытсвовавших.
Сразу оговорюсь - я любитель, пытаюсь как то автоматизировать рутинную работу создавая костыли в Хроме в виде расширений. К разработке алгоритма и реализации используемого в работе ресурса никакого отношения не имею.
Просьба не посылать меня "заканчивать кансерватории", просто нет такой возможности :))
А ещё плохо что не работает поиск по форуму :( неАсилил 200 страниц тем в этом разделе.

Суть вопроса - правомочны ли мои действия, ну или на какой степени адекватности?

Вот что делаю:
На динамически сгенерированной странице есть элементы такого вида:
...
<div class=​"u_photo">​
<img src=​"https://path/pict1.jpg" class=​"u_img">​
</div>​
<div class=​"u_photo">​
<img src=​"https://path/pict2.jpg" class=​"u_img">​
</div>​
<div class=​"u_photo">​
<img src=​"https://path/pict3.jpg" class=​"u_img">​
</div>​
<div class=​"u_photo">​
<img src=​"https://path/pict4.jpg" class=​"u_img">​
</div>​
....и т.д. и т.п.

Есть возможность маркировать картинки. Тогда в список классов таргета img добавляется класс labeled. Маркированная картинка на странице будет выглядеть так:
...
<div class=​"u_photo">​
<img src=​"https://path/pict3.jpg" class=​"u_img labeled">​
</div>​
...

Пытаясь разобраться с Хромовым ДевелоперТулсом пробовал вызвать срабатывание обработчика событий аналогичное клику по картинке:
левый клик - снять/поставить маркировку
правый клик - отправить спец.обработчику

Далее то что я вытворял в консоли:
попытка 1.
document.getElementsByClassName("labeled")[0]
<img src=​"https://path/pict3.jpg" class=​"u_img labeled">​

document.getElementsByClassName("labeled")[0].click()
undefined

попытка 2.
document.getElementsByClassName("labeled")[0].id="hendSel"
"hendSel"

document.getElementById("hendSel")
<img src=​"https://path/pict3.jpg" class=​"u_img labeled" id="hendSel">​

document.getElementById("hendSel").click()
undefined

попытка 3.
document.getElementsByClassName("labeled")[0].id="hendSel"
"hendSel"

cm=document.createEvent('MouseEvents')
MouseEvent {dataTransfer: null, toElement: null, fromElement: null, y: 0, x: 0…}

cm.initMouseEvent('click', true, true, window, 0, 0, 0, 1, 1, false, false, false, false, 0, null)
undefined

document.getElementById("hendSel").dispatchEvent(cm)
true

По всей видимости я делаю не правильно и круг моих невеликих знаний не позволяет ещё понять ЧТО я делаю не правильно или это вообще не имеет права так срабатывать?

Подскажете ?


Часовой пояс GMT +3, время: 02:18.