Angular fire ng-click on row但不是on href

时间:2015-05-29 16:00:19

标签: html angularjs twitter-bootstrap events angularjs-ng-click

我已经制作了一个带引导程序的页面,我想在用户点击该行时进行操作。这很容易,我将ng-click放在行{。{1}}上。

但是,在行元素中我有一个链接,我想避免在用户点击链接时触发div(在这种情况下,它应该打开网址的网址)链路)

这是该行的picture。基本上,如果使用点击链接simbol以外的任何地方,它应该删除ng-click,如果它点击链接simbol它应该打开URL。

这可能吗?

PS:我试图将ng-click放在除href元素之外的每个项目上,但是href元素位于其他内容的列中,如果我不放置ng-click如果用户点击列的空白区域,则不会触发该列。

ng-click

3 个答案:

答案 0 :(得分:5)

$event.stopPropagation()ng-click的锚标记上冒泡事件。

<强>标记

<div class="col-sm-8" ng-click="myMethod()">
    <a href="{{club.url}}" ng-click="$event.stopPropagation();"><i class="fa fa-link"></i></a> |
</div>

答案 1 :(得分:2)

您必须停止事件从锚点传播到具有click事件处理程序的父div。

<div class="col-sm-8" ng-click="onRowClick()">
   <a href="{{club.url}}" ng-click="onLinkClick($event)" ><i class="fa fa-link"></i></a> |
   <span class="h5 small">{{club.description}}</span>
</div>

JS

$scope.onLinkClick = function (e) {
  e.stopPropagation();
}

答案 2 :(得分:1)

尝试将ng-click="$event.stopPropagation();"添加到您的锚标记

<a href="{{club.url}}" ng-click="$event.stopPropagation();"><i class="fa fa-link"></i></a>