In my application I have a help section that is only visible when this.car.helpOpen property is true, and initially the property is false:
<ion-item *ngIf="car.helpOpen"> <div class="car-help-content" item-content> <img src="{{testURL}}" /> <p class="explanations" [innerHTML]="car.helpText"> </p> </div> </ion-item> I have a method that changes the value of this.car.helpOpen to true and after that adds an event handler to all of the <a> elements(car.helpText contains <a> elements) inside the <p> element:
toggleHelp(input){ input.helpOpen=!input.helpOpen; $("p.explanations").find("a").click(function(e){ alert(e.target.innerHTML); }); } But I think that the attachment of event handlers is happening before the *ngIf actually shows the help section, and that's why the event handlers don't get attached. If I remove *ngIf completely and execute the function toggleHelp(), the handlers get attached.
Is there a way I can work around this?
Maybe there is a way to add the event handlers without using jQuery? (without changing the actual innerHTML of the element)
toggleHelpcreate a directive / component for the explanations that does this for you on init