Ticket #7544 (closed bug: fixed)
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:
- 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
comment:3 Changed 22 months 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 22 months ago by scott.gonzalez
- Status changed from open to closed
- Resolution set to fixed
Fixed in master in 350e4ab5b854d2f6aca22d5202c03dcbf59ff4aa
Fixed in 1-8-stable in bd48ddfa94ff673cc5dfef749fe0565f1bc02d0f


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