Open mjau-mjau opened 10 years ago
Thanks for noticing this and explaining exactly what is going on. I wanted Superfish to have a built-in delay for those who don't use hoverIntent for whatever reason, but given that nowadays it is required for various touch devices to be supported maybe I should just make hoverIntent a firm requirement. Thanks for providing a workaround in the meantime.
Facing this issue. Could you please give more details about this solution? Where should we add above mentioned code?
I have created a branch named 'hoverintent' which has this patch in but I am not seeing any noticeable difference in behaviour. In which browsers are you seeing the "flash close/open" behaviour, and does this new branch behave any differently in it? Thanks.
Just thought I'd remark that delay should be applied to the hoverIntent plugin (if enabled) instead of to superfish. Why? Because on "mouse-piloting errors", once the mouse is again over the menu element (within delay), it re-triggers hoverIntent which will not trigger "open" again until intent is determined ... this will often cause an animated menu to flash close/open while the mouse is back over the item.
To avoid this, one should be using the hoverIntent timeout setting instead, which prevents over/out handlers from firing when they shouldn't. timeout as quoted from hoverIntent docs:
Personally, I added the hoverIntent timeout manually, and just kept superfish delay to 0: