Question about click-delay / tappable directive

Ever since I started using Ionic 2 I noticed that navigating through the app sometimes feels slow on iOS. I always thought this is because it is still in beta and will get fixed later. However, as we are getting closer to a final version, I started looking into it.

I spent hours trying to find out why the (click) event was so slow. In my case it was launching the camera plugin, so I always thought that it is an issue related to cordova. It took a long time until I found out that there is a 300ms delay on elements other than “a” and “button” that caused the issue. Luckily, Ionic provides a nice directive that completely solves the problem in my case. Before adding tappable, the delay on my device (iPhone 7 Plus) was always more than 300ms, I would say 1-2 seconds. After adding tappable, the delay is completely gone.

Is there a reason why the tappable directive isn’t automatically added on elements with a (click) event? Does it have a negative performance impact on other parts of the app? I can imagine that many people don’t know about this behaviour and like me will spend a lot of time looking in the wrong places trying to fix the issue.

2 Likes

I want to know that too…

On beta11 was ok to use tappable on everything, and my app is running well, but now on RC2, if I put tappable on lists or buttons, the effect of the button is strange… removing the tappable is so bad… especially on old devices…