Можно в JavaScript узнать по какому потомку объекта кликнули?
Есть объект, скажем, список ul. В нем много потомков разной вложенности. Хотелось бы обработчик клика повесить только на сам объект ul и там определять, по какому потомку кликнули. В моем случае достаточно узнать, по какому дочернему тегу кликнули: li или img.
Ну так событие "клик" на элементе.
А элемент предварительно впихни в массив потомков.
Потом пройдись проверкой с тройным равно (this === $i) - вот ответ
Ты мне опиши что сделать ты решил?
Потому что когда возникает понятие "дохрена" - как то автоматически должно возникать понятие:
1) ..."показать больше"
2) setTimeout(fn, 0)
3) recursiveTimeout
4) если объектов прям сотни тысяч (нихрена себе у тебя UL), то можно снимать события по мере перемотки, но это бред. Человек не может держать в голове больше 7 вещей. И когда ты ему даешь выбор из 1000000 штук - ты делаешь что-то не так на уровне логики человека
Тебе нужно сделать поиск и убедится что на экране будет 10 элементов и тогда событий будет 10.
Григорий Васильков: у меня многоуровневое меню, в котором около 600 конечных пунктов. При клике по последним пунктам меню должно происходить событие, которое отличается от клика по промежуточному участку меню.
Тебе действительно не нужно такое меню... Но смотри сам, конечно.
Единовременно показываются подразделы, которых 10 штук. На них события. При нажатии на подраздел - показываются подразделы - которых тоже 10 штук. Итд.
Показывать единовременно 600 пунктов без поиска и вложенности - бред короче. Это знаешь где только имеет смысл - в каталоге запчастей, а там упаси какие-то вообще события делать кроме свернуть-развернуть, иначе система получится рвотная.
Григорий Васильков: у меня не меню навигации, а что-то типа помощника для вставки смайликов как в вк. Только вместо смайликов, математические символы, формулы. На самом деле оно не такое уж большое.