Html 防止组件内的href onclick

Html 防止组件内的href onclick,html,angular,eventemitter,Html,Angular,Eventemitter,在我的项目中,我试图创建一个自定义锚组件来集中样式(图标等)。基本上, @Output()单击=新建EventEmitter(); hrefClicked(数据:MouseEvent):无效{ //返回此项。单击。发射(数据); 这个。点击。发射(数据); } 任何建议都将不胜感激 为什么希望a标记而不是例如div?因为我希望锚定的默认浏览器行为。也就是说,无论使用何种方法(ctrl+单击、鼠标中键等),都可以转到url。在某些情况下,我想使用(click)事件否决定期单击。然后在这些情况下

在我的项目中,我试图创建一个自定义锚组件来集中样式(图标等)。基本上,

@Output()单击=新建EventEmitter();
hrefClicked(数据:MouseEvent):无效{
//返回此项。单击。发射(数据);
这个。点击。发射(数据);
}

任何建议都将不胜感激

为什么希望
a
标记而不是例如
div
?因为我希望锚定的默认浏览器行为。也就是说,无论使用何种方法(ctrl+单击、鼠标中键等),都可以转到url。在某些情况下,我想使用(click)事件否决定期单击。然后在这些情况下动态更改
href
。或者只映射任何click键绑定的click函数。可能性是无穷的。@CatalinIancu你说的到底是什么意思?href应与ctrl+单击保持相同,以表现出与常规锚点相同的行为。只有在正常单击时,我才需要特殊行为(并且只有在函数基于参数返回false时)。我不能提前定义它,因为它取决于最终用户如何与链接交互以及参数是什么。我也不明白你说的第二部分是什么意思。你能详细说明一下吗?类似这样的
$(document).keydown(函数(事件){if(event.which==“17”)cntrlIsPressed=true;})它检测按下
ctrl
按钮的时间。您可以使用它在新选项卡中打开所需的任何内容。为什么要使用
a
标记,而不是例如
div
?因为我希望锚定的默认浏览器行为。也就是说,无论使用何种方法(ctrl+单击、鼠标中键等),都可以转到url。在某些情况下,我想使用(click)事件否决定期单击。然后在这些情况下动态更改
href
。或者只映射任何click键绑定的click函数。可能性是无穷的。@CatalinIancu你说的到底是什么意思?href应与ctrl+单击保持相同,以表现出与常规锚点相同的行为。只有在正常单击时,我才需要特殊行为(并且只有在函数基于参数返回false时)。我不能提前定义它,因为它取决于最终用户如何与链接交互以及参数是什么。我也不明白你说的第二部分是什么意思。你能详细说明一下吗?类似这样的
$(document).keydown(函数(事件){if(event.which==“17”)cntrlIsPressed=true;})它检测按下
ctrl
按钮的时间。您可以使用它在新选项卡中打开所需的任何内容。
open(evt: MouseEvent, row: IRowData): boolean {
  if (/* some condition */ true) {
    // do stuff
    return false;
  }
}
@Output() click = new EventEmitter<MouseEvent>();

hrefClicked(data: MouseEvent): void {
  // return this.click.emit(data);
  this.click.emit(data);
}