Modify ↓
Ticket #2477 (closed bug: fixed)
Safari 2.0.4 and Sortables
| Reported by: | shelane | Owned by: | braeker |
|---|---|---|---|
| Priority: | major | Milestone: | 1.2.4 |
| Component: | ui | Version: | 1.2.3 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Try to drag anything and it either wants to become the first or last item leaving only a hole behind in it's place. If you do the toArray call, the order is the original order.
Attachments
Change History
Changed 5 years ago by ebartels
-
attachment
safari_contains_2477.diff
added
Reimpliment contains functionality to work with safari2
comment:2 Changed 5 years ago by ebartels
I'm submitting a patch to work around Safari's buggy Node.contains function. I've added a standalone function called contains. It's not as pretty, but since Safari 2 doesn't expose Node.prototype, we can't override it directly.
Tested in ie 6/7, firefox 2, opera, and safari 2/3.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

It looks like problems are caused by the Node.contains DOM function. It's supposed to return true if one node contains another, but as far as I can tell the Safari 2 implementation is buggy and always returns true for sibling nodes. This function is used in several places within ui.sortables.js. To get Safari 2 working we're going to need an alternative way to find out if one node contains another.