We've found the availability of tooltips on touch screens quite useful for some things and recently added a pseudo background dismiss by sending a message from clicks on root that is received by components with tips and clears their tooltips. It works great, except disabled buttons ignore the message.
We can put this script on the button's parent (editing reference to button child) and it works to remove the button tip while button is not enabled. But this script on the button does not work when button is not enabled:
It also seems that if your message handler name is generic like "remove-tooltip" all buttons with this generic message handler in your page scope will receive and react to a message from a single button message even if it is not from the respective button.
Yes, this is the goal (dismiss all tooltips when background is tapped) and it works. The surprise was to find that message handlers on buttons are apparently disabled when buttonComponent.enable is not true.
Our application is displaying sensor IDs and names in a tooltip when tapped on touch screens as well as showing interlocks preventing action when hand controls are tapped. Operators like it, but noted sometimes they want to get the tip out of the way immediately. Now they can tap anywhere else and tips are dismissed. Our problem is solved, but it seems like message handlers probably should not be disabled on a button component just because the button is not enabled.
Thanks for looking at this. I'm sorry for the false alarm. Looking at this again today I realized my working message handler (on parent) was "remove-tooltips" while the one that didn't work on buttons was "remove-tooltip" (missing final s). We are sending a "remove-tooltips" message from tap on background.