我有一个看起来像这样的 span
标签:
<span ng-bind-html="item.Name | linky" ng-click="open(item)"></span>
在 ng-repeat 中。
但我有一个问题,如果 item.Name
包含电子邮件或链接,linky 过滤器会更改 html 并插入 anchor 标记。现在,当我单击链接时,ng-click 会触发并打开 anchor ,但我只想打开 anchor 并防止调用 ng-click ...这可能吗?
最佳答案
像这样的 html 怎么样:
<span ng-bind-html="item.Name | linky" ng-click="open(item, $event)"></span>
这是你的函数调用:
$scope.open = function(item, event){
if(event.srcElement.tagName !== 'A'){
alert('do something here with ' + item.Name);
}
}
可能有更好的方法,但我相信这会奏效。虽然它在 documentation我在 this group article 中看到了 $event
.
关于javascript - AngularJS Linky过滤器停止传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12247251/