Зачем щелкать элемент <ul />, чтобы сказать, что его event.srcElement равен <li /> - PullRequest
0 голосов
/ 23 января 2019
           <div class="nav">
                <ul>
                    <li ng-repeat="navigation in vm.navigation.entries" ng-click="vm.navigationSelect(navigation)">
                        <a scrolltop ng-if="!navigation.desktopOnly">
                            {{navigation.title}}
                            <span class="glyphicon glyphicon-chevron-down buttonchevron"
                                  ng-if="navigation.subNav"></span>
                            <ul class="sub-nav">
                                <li ng-repeat="children in navigation.childEntries" ng-click="vm.subMenuClickHandler($event)">
                                    {{children.title}}
                                </li>
                            </ul>
                        </a>
                    </li>
                </ul>
            </div>

Я ng-click на родительских узлах (<ul />), но переместил его вниз на <li />), чтобы увидеть, изменилось ли поведение - нет.Проблема со вторым <ul /> и обработчиком subMenuClickHandler($event).Когда я нажимаю <ul />, чтобы развернуть списки, элемент last <li /> запускает событие.Когда я проверяю event.srcElement, чтобы увидеть, откуда он исходит, он говорит <li />.

1.<ul Title>
 a.<li child title/>
 b.<li child title/>

2.<ul Title>
 a.<li child title/>
 b.<li child title/>

Когда я нажимаю Заголовок 2, чтобы развернуть дочерние заголовки, b.child запускается.Есть идеи, почему?

Вот что я пробовал:
1. $ event.stopPropagation ()
2. .preventDefault ()
3. проверка цели (не существует на синтетическомсобытия, в данном случае AngularJ)
4. проверка currentTarget - это ноль
5. На этом есть два события EventHandler, и я убедился, что это не проблема.Это происходит только для одной из двух категорий <ul />.И это всегда последний элемент списка, который срабатывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...