When event propagation is stopped, all future mousedown events are improperly considered to be 'handled'
|Reported by:||brettkiefer||Owned by:|
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
- Load the gist above as a standalone page in a browser (repro'd in Chrome and Firefox)
- Drag an element
- 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 (4)
comment:3 Changed 5 years ago by scottgonzalez
- Component changed from ui.core to ui.mouse
- Milestone changed from 1.9 to 1.8.15
- Priority changed from minor to blocker
- Status changed from new to open