Opened 3 years ago

Last modified 18 months ago

#18892 new defect

_MenuBase.passivePopupDelay causes click event to fire on non-popup menuitems

Reported by: kloppstrumpf Owned by:
Priority: undecided Milestone: 1.14
Component: Dijit Version: 1.10.6
Keywords: Cc:
Blocked By: Blocking:

Description

Given the name of the passivePopupDelay property, this option should only cause popups and dropdowns to show.

However, when a non-pupup menuitem is hovered it is also clicked (after the delay is reached).

In my use case (declaratively gernerated MenuBar? with a mix of PopupMenuBarItems? and MenuBarItems?) this behaviour redirects the user to a new route, causing massive confusion.

tested with v1.11.2 and v1.10.6.

Ofcourse i am hoping for a fix to let passivePopupDelay and non-popup items coexist without interaction, though a property name change (to clarify the actual functionality) could at least protect other developers from running into the same problem.

Change History (4)

comment:1 Changed 3 years ago by bill

FWIW, I agree that's a bug. I don't have time to check in a fix now, but you could presumably workaround the bug by setting up advice (dojo/aspect) around _MenuBase.prototype.onItemHover to just return if item.declaredClass === "dijit.MenuItem" (or something like that).

comment:2 Changed 3 years ago by kloppstrumpf

Ty for the advice and the fast answer. I'll let my superior decide either to use a workaround or to wait until an official release with the needed changeset is tagged.

Have a nice day.

comment:3 Changed 2 years ago by dylan

Milestone: tbd1.13

comment:4 Changed 18 months ago by dylan

Milestone: 1.131.14
Note: See TracTickets for help on using tickets.