我有一个用Angular 1.x编写的Web应用程序,该应用程序允许用户在锚点链接上按ctrl单击(或在Mac上为cmd单击)以在新选项卡中将其打开。未经修改的点击会更改DOM内容,而不是在新路径下重新加载页面。 Angular 1.x代码如下:
<a ng-click="nav.go(e.path,$event)" href="{{::e.path}}">{{::e.title}}</a>
在Angular 1.x控制器中:
if (e.ctrlKey == 1 || e.metaKey == 1) {
// allow page to be opened in a new tab
return false;
}
e.preventDefault();
e.stopPropagation();
...continue by doing ajax and DOM replacement instead
现在将应用程序升级到Angular 8,但是Event类没有ctrlKey或metaKey。在Angular 8中是否有另一种方法来检测这两个修改器?
答案 0 :(得分:0)
MouseEvent中有ctrlKey和metaKey。如果收到点击事件,则为MouseEvent,因此您可以访问下摆。它们都为布尔值。
请参见以下简单示例: