JavaScript user interactions - vanilla js, jquery and angular/templating