Skip to main content

Search and Top Navigation

#10130 closed feature (fixed)

Opened June 26, 2014 05:11PM UTC

Closed June 26, 2014 05:14PM UTC

Last modified August 29, 2014 03:21PM UTC

Menu: Remove requirement for anchors in menu items

Reported by: scottgonzalez Owned by:
Priority: minor Milestone: 1.11.0
Component: ui.menu Version: 1.10.4
Keywords: Cc:
Blocked by: Blocking:
Description
Attachments (0)
Change History (2)

Changed June 26, 2014 05:14PM UTC by scottgonzalez comment:1

milestone: none1.11.0
resolution: → fixed
status: newclosed

Fixed in 3a61627a501cb7ba1ce80046bfabbff0f7f2f517.

Changed August 29, 2014 03:21PM UTC by lankymart comment:2

Not sure if this is intended but there are various examples of implementing a header (non selectable list element) but I've found that whatever I try and can't stop the default "ui-menu-item" class being applied to my listitem. I've managed to workout that the examples that work are using 1.8 but I'm using 11.0 and it's defaulting to the "ui-menu-item" and doesn't seem to be over-ridable.

Example of working header

http://stackoverflow.com/a/20676143/692942

http://jsfiddle.net/IrvinDominin/rMkER/

Code Excerpt

      $("#list").autocomplete("instance")._renderMenu = function(ul, items) {
        var self = this;
        $.each( items, function( index, item ) {
          self._renderItemData(ul, item);
          // prepended element still ends up with "ui-menu-item" class??
          if (index == 0) ul.prepend('<li class="ui-header"><span>Returned ' + items.length + ' record(s)</span></li>');
        });
        // attempt to hack css!
        ul.find("li:first-child").removeClass("ui-menu-item");
      };

I've now pin pointed what I think is the cause it appears after 1.10.4 and is present in 1.11.0 it's in the refresh() method in menu.js (previously jquery.ui.menu.js).

It looks like it's due to the requirement for an anchor to be present being removed (see https://github.com/jquery/jquery-ui/blob/3a61627a501cb7ba1ce80046bfabbff0f7f2f517/ui/jquery.ui.menu.js#L325 and https://github.com/jquery/jquery-ui/commit/3a61627a501cb7ba1ce80046bfabbff0f7f2f517#commitcomment-7591515)