Я ищу способ создания многоуровневого дерева с событиями onclick в каждом узле.Многоуровневые каскады LI ONCLICK event
У меня есть следующий код:
<div id="tree">
<ul id="UL1" onclick="alert('LEVEL1');">
<li id="LI1">
LEVEL1
<ul id="UL2" onclick="alert('LEVEL2');">
<li id="LI2">
LEVEL2
<ul id="UL3" onclick="alert('LEVEL3');">
<li id="LI3">
LEVEL3
<ul id="UL3" onclick="alert('LEVEL4');">
<li id="LI4" >LEVEL4
</ul>
</ul>
</ul>
</ul>
</div>
цель состоит в том, что если пользователь нажмет на LEVEL4 (к примеру) он получает уведомление только LEVEL4. Проблема заключается в том, что предупреждение каскадом и при нажатии на какой-то определенный уровень я получаю все предупреждения наследования:
- нажав на LEVEL4 -> оповещения о LEVEL4, LEVEL3, LEVEL2 и LEVEL1
- нажав на LEVEL3 - -> оповещения о LEVEL3, LEVEL2 и LEVEL1
- и т.д. ...
Я ищу иметь предупреждение только для соответствующего уровня, что я нажал вместо унаследованного остальных верхних уровней ...
Есть ли простой способ достичь этого?
Спасибо!
Привет Abhi, спасибо! это то, что я искал. Проблема в том, что я использую jquery library (fancytree), чтобы иметь возможность преобразовать структуру ul/li в красивое древовидное представление ... В какой-то момент библиотека устанавливает для свойства отображения NONE для всех UL, а затем Я думаю, где я теряю обработку событий ... Ничего не отображается, когда свойство display установлено равным none. Существует ли какая-либо связь между наличием родительского элемента как diplay: none и назначением ему события? –
@ byle.05, что не должно быть проблемой. Вы можете задать новый вопрос с минимальным воспроизводимым примером. Это поможет. – Abhitalks
Спасибо Абхи, наконец, я смог разобраться. Проблема в том, что библиотека фантазийных деревьев заменяет мою структуру UL/LI собственными, а мои идентификаторы теряются. Я немного изменил библиотеку, чтобы наследовать эти идентификаторы и теперь отлично работает :) –