I've installed the Superfish menu for Drupal 7 using the dev version 1.9 beta. I enabled the sf-touchscreen plugin and made sure the js files were in the libraries directory and that the module could find the paths. I also experienced this same issue using v1.8.
Behavior: When tapping a parent menu item on iPhone (tested on iPhone 5 running iOS 6.1.3), the dropdown menu does not display. If you then tap on a different parent menu item, it shows the dropdown and everything works as expected. The issue only arises the very first time a page is loaded.
I can provide a link to the site I'm having the issue on, but I just wanted to see if anyone else was having this same issue first.
Comments
Comment #1
justinen commentedI still haven't figured out why this is happening. I have a different site which uses Superfish for Drupal and it works correctly on iPhone. Could this be the result of a module conflict? Could it be related to CSS? Any direction on this issue would be appreciated.
Here is a link to the site where I have the issue on iPhone. http://www.njperio.net/
Comment #2
mengi commentedI believe it is because you have < span > as your parent menu item. Try it with a regular link and see if that works.
Comment #3
justinen commentedHi mengi,
I appreciate your feedback. I just tried changing the spans to regular links, but it's still not behaving correctly. I thought this may be the problem before so I tried changing one menu item to a regular link, but that didn't work. This time, I figured I would change every item to a regular link (just in case), but that didn't work either. Any other suggestions would be helpful.
Thanks so much!
-Justine
Comment #4
mehrpadin commentedHey everybody,
It's the v1.8, backup the module and the Superfish library if you've made any changes then upgrade the module to the latest development release (today's) and the library to the latest version too; however, if the parent items are
<nolink>you shouldn't use the sfTouchscreen anyway.Upgrade and let me know if it did fix it.
Comment #5
mengi commentedmehrpadin, he stated that he is using the 1.9-beta version.
justinen, are you using the 'special_menu_items' module to create your no-links?
Comment #6
justinen commentedMengi - Yes, I'm using "special_menu_items" module to create the no-links.
Mehrpadin - I've tried both the v1.8 and v1.9 with the same issue still. I see that you just released a new version yesterday so I'll give that a whirl and see if that fixes the issue.
Comment #7
justinen commentedI just wanted to give everyone an update.
I updated the site to use the latest version of Superfish (04/11/13) and latest Superfish library. I'm still getting the same behavior. I tested with real links (a) as well as the nolink (span) and both behave the same.
Comment #8
saweyer commentedI'm also seeing this problem on iPad and iPhone when I "Enable jQuery sf-Touchscreen plugin for this menu depending on the user's Web browser user agent"
with default user agents. I have the latest SF library installed.
tapping on first top-level item 'highlights' but does not display child menu. if I tap on a different top-level item, it displays child menu.
then I can tap on the original top-level item and it displays child menu correctly.
Steve
Comment #9
justinen commented@saweyer - This is the exact same behavior I experience. Thanks for confirming. Are you using the "special_menu_items" module at all?
Comment #10
saweyer commentedI am not using "special_menu_items" module.
I am using SF w/ Adaptive Theme module.
here is link to one of my development sites that shows the problem (on iPad and iPhone): drp7.rvuuf.org
I'm attaching a .pdf that shows all of my SF settings for that menu block.
(note: I would like to use the "sf-smallscreen" setting on iPhone, but it converts to a single SELECT menu, rather than to one for each top-level item, which would make the menu more manageable. I submitted this as a separate issue: http://drupal.org/node/1971300 )
Steve
Comment #11
mehrpadin commentedThanks to you all I've found a bunch of bugs! going to commit the fix in a few minutes.
Comment #12
mehrpadin commentedComment #13
justinen commented@mehrpadin - Thanks so much for the quick response and for looking into this issue. I don't see the date updated on the module page (http://drupal.org/project/superfish). Does it take a while before your latest upload shows up? I'll test it out once it's updated. Thanks again!
Comment #14
neeraj.cms commented@mehrpadin - Have you fixed this bug? I am using 7.x-1.8 and still facing the problem. Please help!
Comment #15
mengi commented@neeraj.cms it is fixed in the dev version of the module.
Comment #16
saweyer commentedI just upgraded to 1.9 (release version) and corresponding SF library.
however, first tap on my iPhone (or iPad) is highlighting, but not displaying submenu.
I have to tap on a 2nd top-level item to see its submenu, then tap on my original top item.
Comment #17
crispinbailey commentedSorry to reopen but this bug is not fixed.
I've tried both 7x-1.9 and the dev version and can confirm it's still not working properly on my iPad. In each case the first tap doesn't fire the drop-down but subsequent taps do.
Comment #18
crispinbailey commentedChanging to Bug Report because it's a bug, not a support request.
Comment #19
richsky commentedFrom my own testing, having special-menu-items on first level parents, I can't say it totally doesn't work, it is rather not always responsive. It may also be the device, I did test on ipad (almost working) and Samsung Galaxy Tab 10.2.
I'm using The jQuery sf-Touchscreen plug-in version 1.2-beta, get the latest library here: https://github.com/mehrpadin/Superfish-for-Drupal
Comment #20
kelvinleehk commentedI'm not using special-menu-items and yet also seeing the same behavior. The difference is only that in addition to not opening up the submenu, it takes you to the page where the parent menu item links to.
I'm currently using 7.x-1.8.
Comment #21
mehrpadin commentedHey everybody,
I've just updated the sfTouchscreen, try the development release (today's) once updated, with the master branch of the Superfish library, let me know if it fixed it.
Comment #22
crispinbailey commentedI can confirm it now works on iPad (iOS6) using latest dev build and latest Superfish library. Thanks!!! :)
Comment #23
karingHi cspinbailey: are you using any third party modules - like special-menu-items?
I'm using:
Superfish module used to (just months ago) work as follows: (and many website menus on iOS behave like this):
Tapping gently on top level: [sorry don't know the iOS terminology]: works like a hover - it opens up the submenusTapping hard on top level: goes to the target page
Correction:
tapping once on top level: opens up submenu
tapping again on top level: goes to target page
It would be awesome to get that behavior back again.
-- Karin
Comment #24
karingI just confirmed that when I roll the superfish library back to (superfish.bak) one that contains:
- sftouchscreen.js
-- The jQuery sf-Touchscreen plug-in version 1.0-beta.
-- It is developed as a part of the Superfish project of the Drupal CMS.
I do get the behavior I'm looking for on iOS: e.g. http://albertawhitewater.ca - check any of the menus with the downward arrows.
This is the sftouchscreen.js from the superfish.bak that is working for me:
Staying rolled back for now for our sites until I understand what's going on. :-)
-- Karin
Comment #25
karingOK, sorted things out. Now have things working with:
Basically the older version of the sftouchscreen.js produced the behavior by default - whereas the newer module + library versions require admin/structure/block/manage/superfish/1/configure to be specifically set up for the desired sf-Touchscreen behavior.
Ok, got it now!
Comment #26
imgfx commentediPad iOS5.1.1 does not work with this solution.
The actions can be viewed in Bartik here: https://vimeo.com/76052773
and in this video: https://vimeo.com/72504447
This is an open issue with iOS5.1.1 at least.
Will test with other iOS versions and Android as practical.
Comment #27
richsky commentedOups, no, looking at the code, it is only not working if you use special item . Looking at the code in sftouchscreen.js shows how it works: ln 22 (..) menu.find('li:has(ul)').children('a') (..)
Comment #28
mehrpadin commentedHey everybody,
Please try the master branch of the SF library with the latest development release (today's), please also test on as many devices as possible, thank you all.
Comment #29
odegard commentedHi mehrpadin, tried superfish for the first time today and found problems as described in this issue; sometime the submenu blinked but didn't show, when clicking on submenu item nothing happened. Only on dolphin (android 4.x), chrome worked fine.
I'm happy to say that it works updateing to latest dev. Excellent work! Thank you very much, this looks very promising.