Ticket #7544 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

When event propagation is stopped, all future mousedown events are improperly considered to be 'handled'

Reported by: brettkiefer Owned by:
Priority: blocker Milestone: 1.8.15
Component: ui.mouse Version: 1.8.14
Keywords: Cc:
Blocking: Blocked by:

Description

In jQuery UI 1.8.14, the jquery.ui.mouse is considering events to be 'already handled' until the top-level document receives a mousedown event, so if any intermediate element stops propagation of the event (a perfectly legitimate thing to do, as I understand it), jQuery UI will consider all mousedown events to be already handled until the user clicks somewhere that allows the event to reach the document.

The issue originates from this change:  https://github.com/jquery/jquery-ui/commit/9c50bdfde0260fc8412eec1c5020ed6b61558ebd

This gist illustrates the problem with no dependencies:  https://gist.github.com/1078751

Repro:

  1. Load the gist above as a standalone page in a browser (repro'd in Chrome and Firefox)
  2. Drag an element
  3. Now drag another element

Expected: Second element also drags

Observed: After the first drag, you can't drag again until you click off of the sortable lists.

Suggested fix: In this case I would say that the cure is worse than the disease, since the checkin that caused the issue was to fix a bug that affects nested draggables in IE (#4333), and ui.mouse is a core component that probably shouldn't have this quirk. So I'd say that the checkin above should be reverted and a different approach taken.

Change History

comment:1 Changed 3 years ago by brettkiefer

Sorry, missed the jsfiddle preference, here it is in jsfiddle:  http://jsfiddle.net/gDzpQ/2/

comment:2 Changed 3 years ago by brettkiefer

Also affects 1.8.13, but not 1.8.12.

comment:3 Changed 3 years ago by scott.gonzalez

  • Priority changed from minor to blocker
  • Status changed from new to open
  • Component changed from ui.core to ui.mouse
  • Milestone changed from 1.9 to 1.8.15

comment:4 Changed 3 years ago by scott.gonzalez

  • Status changed from open to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.