如何将onclick事件添加到HTMLAnchorElement?

时间:2019-05-22 07:34:06

标签: typescript anchor ionic4

我正在开发离子应用程序。作为此应用程序的一部分,我正在发送一个get请求并获取一个html页面。现在,我需要在我的应用中展示它。我尝试使用srcdoc在iframe中显示它,但是网页上有指向其他页面的链接,当单击它时,我需要提供一个Authorization标头。因此,我决定我应该采用html字符串并对其进行操作,以便在单击锚点时它将调用一个函数并发送带有授权头的get请求(至href网址)

我将html字符串转换为Document对象,并获得所有“ a”项:

var doc = (new DOMParser).parseFromString(this.htmlPage, "text/html");
var links = doc.body.getElementsByTagName("a");
for (let i = 0; i < links.length; i++) {
      const element = links.item(i);
      var self = this;
      element.onclick = function() {
        self.redirect(element.href);
      };
      element.removeAttribute("href");
    }

href属性将被删除,但不会添加onclick事件。我该如何解决?

2 个答案:

答案 0 :(得分:0)

就:

  <a (click)="myFunction()"></a>

答案 1 :(得分:0)

弄清楚了。 刚刚做过:

element.addEventListener("click", () => {
    this.redirect(element.href);
  });

,然后通过调用将其添加到页面:

this.webview.nativeElement.appendChild(doc.body);