Это будет работать для всех li
элементов с parent
классом в настоящее время в документе:
$('li.parent').on('click', function(){
expandMenu(this.parentNode);
});
Однако, если вы хотите сделать это для будущих элементов, которые могут быть добавлены позже, вы можете использовать это:
$(document.body).on('click', 'li.parent', function(){
expandMenu(this.parentNode);
});
Редактировать
Что касается предотвращения срабатывания ссылок, выможно использовать этот код:
$('#sidebar-nav-menu a').on('click', function(e) {
e.preventDefault();
});
Но это предотвратит срабатывание всех ссылок в меню (за исключением ссылок, добавленных после вызова этого метода);
Изменить еще раз
Наконец, мы можем использовать это, что будет запускать только ссылки, которые не имеют подменю.
$('#sidebar-nav-menu a').on('click', function(e) {
if($(this).parent().siblings('ul').length)
{
// If my anchor is associated with a sub-catagory, prevent it from firing.
e.preventDefault();
}
expandMenu(this.parentNode);
});