无法使用stopProgagation和preventDefault来停止打开链接

时间:2019-01-15 07:56:49

标签: javascript google-chrome mouseevent

我似乎无法获得preventDefault或stopPropagation在某些类型的链接上工作。我想编写一个程序来突出显示网页上的某个元素,并在单击该元素时将其保存。我希望能够单击页面上的多个元素,因此该程序应避免导航到页面之外。该程序在某些情况下会失败。例如,如果我转到https://www.yahoo.com,经过控制台日志中的程序,然后单击广告图像,它将打开链接。当我访问https://www.amazon.com并单击“广告反馈”上方的图像时,也会发生同样的情况。看来这对广告链接无效。

我在Firefox和chrome浏览器上都尝试了该程序。该程序可在大多数链接上使用,但在广告链接上无法使用。通过查看HTML源代码,我无法弄清它为什么失败以及如何修复。该程序如下所示。只需复制它即可在控制台中运行。

export class NoopInterceptor implements HttpInterceptor {

  intercept(req: HttpRequest<any>, next: HttpHandler):
    Observable<HttpEvent<any>> {
      let response = new HttpResponse();
      response = response.clone({body: [{"sads":"ewre"}]});
   
    return next.handle(req).pipe(catchError((err) => {return of(response).pipe(delay(10))}) );
  }
}

我希望该程序对于我单击页面上的任何元素都不会停止将我发送到其他页面。我非常感谢任何建议。谢谢。

0 个答案:

没有答案