Da ich meine HTML-Zeichenfolge von einer externen Quelle, ich möchte alle Links, die Bilder enthält, entfernen Sie das href-Attribut und ersetzen Sie es durch (Klick) Ereignis ... Ich bin versucht, dies mit einem Winkelrohr zu tun, wird das Rohr zu entfernen nur das Attribut href aber das Click-Ereignis funktioniert nichtAngular2 Pipes Filter Links in HTML-String
ich versuche a.onclick = this.showLightbox;
, und ich versuchte a.addEventListener("click", this.showLightbox, false);
aber beide funktionieren nicht
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'lightboxPipe'})
export class LightboxPipe implements PipeTransform {
transform(value: string): string {
let div = document.createElement('div');
div.innerHTML = value;
[].forEach.call(div.getElementsByTagName("img"), (img) => {
var a = img.parentElement;
a.removeAttribute('href');
a.onclick = this.showLightbox;
});
return div.innerHTML;
}
showLightbox(){
console.log('a link has been clicked');
}
}
Sie könnten versuchen: 'a.onclick =() => this.showLightbox;' – rinukkusu