Многоуровневое раскрывающееся контекстное меню
Я делаю плагин контекстного меню (правый клик) для jQuery, и он отлично работает для первого уровня. Но мне нужно, чтобы он имел бесконечные уровни. У меня уже есть рекурсия вниз, но я думаю, что это проблема с показом / сокрытием. Пока это мой код: http://jsfiddle.net/H7GqA/4/ (Извините за грязный код, плагин для меня). Элемент второго уровня никогда не появляется, и я не уверен, что делаю неправильно.
Заранее спасибо - Таннер.
1 ответ
У тебя есть display:none
на .submenu
элементы, и вы ничего не делаете, чтобы показать их.
Если вы хотите, чтобы они были всегда, добавьте следующее правило
#ContextMenu .submenu {
display:block;
}
если вы хотите сделать это при наведении на родитель
для современных браузеров
#ContextMenu .item:hover > .submenu {
display:block;
}
Я вижу, у вас есть этот код
cm.find(".item:has(.submenu)").hover(function(){
//$(this).find("ul").css('display', 'block');
//alert('blabla_1');
$(this).css('background-color', 'red');
});
должно сработать (если вы раскомментируете первую строку) и переместите этот код в doMain
функция. Потому что там, где у вас есть #ContextMenu
элемент еще не существует.. поэтому связывание не происходит..