@TheInsable

Как лучше повесить обработчик на элемент?

Есть навигация, и элементы этой навигации (ссылки) грузятся через API с сервера, пример того, как это реализовано:
for (var i =  0; i < links.length; i++) {
   var li = document.createElement('li');
   li.innerHTML = links[i].name;
   $('.nav__content').append(li);
}


Создается элемент li и кладётся в ul с классом nav__content, но на эти li нужно повесить обработчик, для того, чтобы некоторые li можно было разворачивать, так как у некоторых ссылок будут подкатегории.
Как это лучше сделать? Пока что идея только одна: добавить к этим li-элементам класс и в js ловить их. Но я не думаю, что это лучшее решение.
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
Negwereth
@Negwereth
lvivcss.com.ua
Тут лучше повесить обработчик на родительский ul.
https://davidwalsh.name/event-delegate
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
djQuery
@djQuery
"Кодируем помаленьку" ("Сказка о Тройке")))
На jQuery это выглядит приерно так:

$(".nav__content").on( "click", "li", function(){
  // ваш обработчик клика по любому li
  // если какой-то li должен обрабатываться специфическим образом, 
  // задайте ему класс и работайте с этим классом
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы