event.preventDefault? event.preventDefault():event.returnValue = false;在Firefox中不工作

时间:2018-08-10 08:42:43

标签: angular firefox javascript-events event-handling

我正在使用angular,并且具有组件 c-button ,其中包含以下代码:

  @HostListener('click', ['$event'], ) preventDefault(): void {

      event.preventDefault ? event.preventDefault() : event.returnValue = false; //event.preventDefault support for IE
      event.stopPropagation();
  }

在父组件中,我有以下代码:

  <c-button class="button-search" (click)="search()"> SEARCH </c-button>

点击按钮时出现错误:

  

错误ReferenceError:“未定义事件”

我没有根据我的代码在互联网上解决此问题的方法。

我无法将$ event传递给搜索函数,因为我必须从组件类中调用此函数。那么我该如何定义事件?

需要帮助。

1 个答案:

答案 0 :(得分:2)

preventDefault方法需要有一个Event参数以引用该方法。

@HostListener('click', ['$event']) preventDefault(event: Event): void {
    event.preventDefault ? event.preventDefault(): event.returnValue = false;
    event.stopPropagation();