如何向 HTMLAnchorElement 添加 onclick 事件?
How can I add an onclick event to an HTMLAnchorElement?
我正在开发一个离子应用程序。作为此应用程序的一部分,我正在发送获取请求并获取 html 页面。现在,我需要在我的应用程序中展示它。我尝试使用 srcdoc 在 iframe 中显示它,但网页有指向其他页面的链接,当它被点击时我需要提供授权 header。因此,我决定我应该获取 html 字符串并对其进行操作,以便在单击锚点时它将调用一个函数并发送带有授权头的获取请求(到 href url)
我正在将 html 字符串转换为文档 object 并获取所有 "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 事件。我该如何解决?
刚刚:
<a (click)="myFunction()"></a>
想通了。
刚刚做了:
element.addEventListener("click", () => {
this.redirect(element.href);
});
然后通过调用添加到页面:
this.webview.nativeElement.appendChild(doc.body);
我正在开发一个离子应用程序。作为此应用程序的一部分,我正在发送获取请求并获取 html 页面。现在,我需要在我的应用程序中展示它。我尝试使用 srcdoc 在 iframe 中显示它,但网页有指向其他页面的链接,当它被点击时我需要提供授权 header。因此,我决定我应该获取 html 字符串并对其进行操作,以便在单击锚点时它将调用一个函数并发送带有授权头的获取请求(到 href url)
我正在将 html 字符串转换为文档 object 并获取所有 "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 事件。我该如何解决?
刚刚:
<a (click)="myFunction()"></a>
想通了。 刚刚做了:
element.addEventListener("click", () => {
this.redirect(element.href);
});
然后通过调用添加到页面:
this.webview.nativeElement.appendChild(doc.body);