gpt4 book ai didi

angularjs - 子 ng-click 不触发

转载 作者:行者123 更新时间:2023-12-05 01:08:35 25 4
gpt4 key购买 nike

我嵌套了 ul\li 元素。我对所有 li 元素都有相同的 ng-click。出于某种原因,如果我单击嵌套在另一个 li 元素下的 li 元素,则只会触发父元素。在下面的例子中,当我点击“Sub One”li 元素时,它会触发“Two”li 元素两次。我知道如何停止传播,但它仍然会触发父 ng-click。希望这是有道理的。

<ul>
<li ng-click="doSomething()">One</li>
<li ng-click="doSomething()">Two
<ul>
<li ng-click="doSomething()">Sub One</li>
<li ng-click="doSomething()">Sub Two</li>
</ul>
</li>
<li ng-click="doSomething()">Three</li>
</ul>

最佳答案

你可能做错了什么,因为它完美地工作。根据 this question ,只需使用 $event.stopPropagation() .试试 this fiddle例如 :

<ul ng-app="test" ng-controller="MyCtrl">
<li ng-click="doSomething($event, 1)">One</li>
<li ng-click="doSomething($event, 2)">Two
<ul>
<li ng-click="doSomething($event, 21)">Sub One</li>
<li ng-click="doSomething($event, 22)">Sub Two</li>
</ul>
</li>
<li ng-click="doSomething($event, 3)">Three</li>
</ul>

和 :
function MyCtrl($scope) {
$scope.doSomething = function ($event, test)
{
console.log(test);
$event.stopPropagation();
}
}

然后单击“Sub One”,在控制台中只显示 21。

关于angularjs - 子 ng-click 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17033778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com