javascript - 单击新选项卡中的打开链接时,ng-click 不起作用

标签 javascript angularjs

ng-clickng-href 指令一起使用时将首先执行点击功能。在以下示例中,将阻止导航到 Google 并显示警报。

<a ng-href='http://google.com' ng-click="click($event)">Link</a>

$scope.click = function (event) {
    event.preventDefault();
    alert('click has been trigerred');
}

这仅在用户使用鼠标左键单击链接时有效。如果用户尝试在新选项卡中打开链接,则不会触发点击事件。在某种程度上它似乎是正确的,因为它不是严格意义上的“点击”,但是是否有任何 Angular 指令用于处理新选项卡中的打开链接?

更新:

我不想以编程方式打开新标签,而是处理用户打开新标签的事件。

最佳答案

除了使用 ng-href,您还可以使用另一种点击功能,它会为您打开新标签页。

<a  ng-click="openTab(); click($event)">Link</a>

$scope.click = function (event) {
    event.preventDefault();
    alert('click has been trigerred');
}
$scope.openTab() {
    $window.open('https://www.google.com', '_blank');
}

关于javascript - 单击新选项卡中的打开链接时,ng-click 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38397430/

相关文章:

javascript - AngularJs:对 Controller 的实现存疑

javascript - Angularjs 和谷歌图表 API : chart type is not defined

javascript - 如何使用 "this"获取 "$event.target"背景图像的 url 以在 ionic 模式中显示

javascript - 链接外部 JS 文件

javascript - React - 当 Prop 改变时改变状态

javascript - HREF 链接在 Accordion 内部不起作用

javascript - 是否可以从后退按钮事件调用ons-sliding-menu组件的closeMenu方法?

javascript - 组合多个/^(xyz)/正则表达式

javascript - GetElementsByClassName ('..' )[0].value = '' 不起作用

javascript - AngularJS 如何发送多部分/混合