HasDropDown has some fancy code to allow mouse-down on the arrow, slide to a menu choice, and then mouse-up to select that menu choice.
Unfortunately it causes various problems on mobile when the popup appears underneath the user's finger (before the user has released their finger from the screen). The problems include:
If the popup contains a button, and the button appears under the user's finger, it may be clicked.
If the popup contains an <input>, and the <input> appears under the user's finger, it may be focused.
HasDropDown has some fancy code to allow mouse-down on the arrow, slide to a menu choice, and then mouse-up to select that menu choice.
Unfortunately it causes various problems on mobile when the popup appears underneath the user's finger (before the user has released their finger from the screen). The problems include:
<input>
, and the<input>
appears under the user's finger, it may be focused.:hover
CSS pseudo-class and it won't be removed until the user clicks something else, due to the iOS "sticky hover" behavior (see http://stackoverflow.com/questions/17233804/how-to-prevent-sticky-hover-effects-for-buttons-on-touch-devices etc.)