Issues with on-hold event on Android

I have an application based on the side menu template and have added an “on-hold” event to ion-item which will show an action sheet.

This works fine on iOS (iPad 2) and an Android tablet. However, it appears the event is not triggered on a Sony Xperia Z1 compact (phone) running Android 4.4.4. If I added an alert into the on-hold event handler it does not display. However, after trying a tap-hold many, many times on the device, it triggered once but never again!

Any ideas on what the problem might be?


As a follow-up, application also works fine on iPhone 6 and CordovaSim.

I have also managed 2 or 3 more successes on the Android phone but overall success rate would have to be less than 5%.

Can anyone suggest how I should go about solving this problem as it only appears to affect one device so far?

Unfortunately it is my primary target device so would really like to get this resolved.

Any way to log what events ionic is receiving?


Appears as if it may be a generic problem with tap-hold processing on this device!

Added a button with an “on-hold” handler and it too failed to work on the Xperia Z1 compact.

Hey @phancox, did you every find a way around this? I’m having a similar problem on a different device where the event only fires once then never again.

Sorry no.

It’s been a while since I worked on it so can’t remember the details. I think I was looking to pop up a context sensitive menu on tap-hold. As this was only providing a secondary path to selecting the object and displaying the appropriate actions directly, I just left it in the hope that it would eventually start working.

Ahh well, will just have to find a way around it I guess. It seems to work on every other device I try.

I have a similar problem on Nexus 5. Double tap works fine but on-hold fail 50% of times.


I am also facing similar issue in Samsung galaxy S6. I am applying on-hold on list item. This works perfectly for me in iPhone 5s. There is also a issue with :active pseduo selector not being applied to list item which is “div” based.

I too am plagued by this issue. It appears to be related to the devices screen sensitivity. The event on-hold gets canceled when the ionic detects a scroll. Works most of the time on the iPhone (with the exception ahead), but on my Nexus 5 it’s super tricky.

If I’m highly precise and deliberate I can usually get the damn thing to fire, but that’s no solution.

I’m thinking that there might be a solution in stopping the scroll from happening when a press of a specific type of button is pressed.

I was having this problem as well, and a solution I found was to set the jsScrolling to false. $ionicConfigProvider.scrolling.jsScrolling(false);

It worked on my Sony Xperia Z3, tell me if it works on others android devices.

This disables the Scrolling entirely. I am having the same issue, is there a way to disable it in just a part of the view (ie a DIV)?

You can add overflow-scroll=“true” in the ion-content, but not in a div.

Thanks, the problem is that I have some buttons that use on-hold and they’re within the ion-content, so they would go back to the same on-hold issue I presume.

Funny enough, I just tried using the $ionicConfigProvider.scrolling.jsScrolling(false); on an actual device and it worked. Now in the emulator the scrolling it is not working. Should I leave it as it is or should I be concerned about some compatibility issues?

Hi I have an Android Galaxy S3 - onhold never gets called - works fine in iOS.
Has anyone found a way around this yet?

I tried on other devices and it did not scroll with $ionicConfigProvider.scrolling.jsScrolling(false); —using double-tap instead

I’m also facing the same issue with device. In ripple it works perfect, but in android devices (Samsung Note 4 and J1) on-hold is not firing.
I gave on-hold to ion-item, it that a problem?

Hey everyone, really sorry for the long delay on this one. This PR just landed and should fix the issue:

I’d recommend checking out master or waiting for the 1.2 release with this fix in it. Thanks for your patience.

Thanks for this! Will test this.