joeldbirch / superfish

Superfish is a jQuery plugin that adds usability enhancements to existing multi-level drop-down menus.
Other
913 stars 314 forks source link

Remove useClick feature? #47

Closed joeldbirch closed 11 years ago

joeldbirch commented 11 years ago

I'm regretting adding the useClick feature as it increases the complexity of the code and eats up development time that I'd prefer to spend focussing on hover events (plus touch and keyboard support, of course), which is truer to the mission of Superfish.

I think it would be a better idea to have a separate click menu plugin, allowing me to remove some complexity and bloat from Superfish and making room for further enhancements. I'm not seeing much benefit of having both click and hover capability in the one plugin, and the amount of if (o.useClick) {… forks that keep needing to be added is telling.

I'd really appreciate hearing some opinions on this.

steffen-maass commented 11 years ago

Hi,

I'm using your plugin on a number of sites and never used the click-feature, the recent improvements for touch-devices makes the click-feature even more redundant for me...

Long story short: I'm all for removing this... ;)

Best regards, s-m

joeldbirch commented 11 years ago

Thanks for chiming in. Music to my ears!

Spuds commented 11 years ago

The unruly nature of the onclick is the reason I have not upgraded to the latest version .. and as you noted trying to support both and touch devices is causing some bloat and development pain.

I'd be fine seeing it removed and done as a separate plug-in for those folks that prefer click over hover (I let them choose since it was less work than arguing with em!)

OxyFuse commented 11 years ago

I'm in favor of this as long as touch is supported.

allthosehumans commented 11 years ago

I've found that even with the hoverIntent plugin people still find clicking easier than hovering especially on laptops. There are a few UX articles floating around about the caveats of the hover interaction.

If you can bare it, I wouldn't remove it. I do think moving it to a separate plugin would be fine though.

joeldbirch commented 11 years ago

Thanks very much for the feedback. useClick will be removed in version 1.7 (which is pretty much ready for release).

Pushplaybang commented 11 years ago

Know this is closed, but would be great to see this at least moved to a separate plugin, the click was one of my main reasons for my excitement in seeing superfish brought back into active development.

joeldbirch commented 11 years ago

Removing useClick has really cleared some roadblocks for me so I'm glad I did it in that regard, but I knew there would be some disappointment, so I'm sorry about that. I agree that it should be a separate plugin. I'm hoping someone interested enough will fork Superfish and rewrite the jQuery to solely use click. Maybe it could stay in sync with Superfish as much as possible and benefit from sharing CSS and such. Implementing the click functionality would be simple enough given that hovers and touch events won't need to be juggled.

joeldbirch commented 11 years ago

Okay, so I've created Superclick. I'll get it up on GitHub in the next day or so.

joeldbirch commented 11 years ago

Here is the Superclick repo.

Pushplaybang commented 11 years ago

nice.

dalin- commented 9 years ago

One downside of hover is with a non-touch device that has a small viewport, it's tricky to navigate a mobile-optimized menu with hovers. You have to be really precise with the pointer and things open/close like wild.

chriskuku commented 8 years ago

Hi, I have a problem with a mobile-menu which might stem from code developed and discussed here. Have a look at http://krischu.bplaced.net/test.html

When the mobile-menu appears I would like to be able to navigate to a node point. At the moment the menu is constructed in a way that clicking on the first level (node) only the submenu opens.

Would it be possible to modify the code such that with a click on the left side the node's URL opens (in the case of the example: /ueber-uns/test.html) , with a click on the arrow in the right, the submenu drops down and can be navigated to by clicking on the link there (/ueber-uns/history/test.html)?

Thanks for helping.

Christoph

joeldbirch commented 8 years ago

Hello,

Sorry, that site doesn't use Superfish.

chriskuku commented 8 years ago

Oh, sorry. Just thought because it was using class names like sf-sub-indicator and other class names starting with sf-. And, last not least, since it contains (in functions.js)

/*
 * jQuery Superfish Menu Plugin - v1.7.4
 * Copyright (c) 2013 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 *  http://www.opensource.org/licenses/mit-license.php
 *  http://www.gnu.org/licenses/gpl.html
 */

Just make the browser window smaller. Then the hamburger menu will appear. Isn't that SF?