ng-click
和ng-href
指令一起使用时将首先执行点击功能。在以下示例中,将阻止导航到Google,并显示警报。当点击新标签中的打开链接时,ng-click不起作用
<a ng-href='http://google.com' ng-click="click($event)">Link</a>
$scope.click = function (event) {
event.preventDefault();
alert('click has been trigerred');
}
只有当用户使用鼠标左键单击链接时,这将工作。如果用户尝试在新选项卡中打开链接,则不会触发点击事件。在某种程度上,它似乎是正确的,因为它不严格地说“点击”,但是有没有任何Angular指令用于处理新选项卡中的打开链接?
UPDATE:
我不想以编程方式打开新的标签页,但处理由用户打开新的标签页的事件。
如果要防止右键单击,则需要覆盖默认的上下文菜单行为。也许这可以帮助http://stackoverflow.com/questions/15731634/how-do-i-handle-right-click-events-in-angular-js –
@ Stuff_H4pp3nz我很抱歉模糊我的问题。我想处理用户打开新选项卡的事件,而不是阻止它。 – Landeeyo
Hi @Landeeyo,你最终能够解决这个问题吗?我面临同样的困境。我希望用户能够决定是否要单击或rmc并打开新选项卡。 – Starceaker