Either you must reattach the click event to the node after each render.
The nodes are replaced by new ones, so your click attachment is gone.
Or you add a directive that will call a function based on the onclick event.
eg: '.material-card > .mc-btn-action@onclick': function(a){
//call here what you want to do at the click event
}
In our app, I use mainly the later option.
One remark, since you are new to JS.
I'm not sure why you needed to use setTimeout's in your click function.
But it is probably a patch over an issue that should have been fixed upstream :)
You should never rely on a timeout, to be sure something was done before an action.
If that something lasts more than 800 ms it will fail.