Bug Tracker

Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#13019 closed bug (fixed)

New pre-1.9 .replaceWith() behavior leaks data and events

Reported by: dmethvin Owned by: dmethvin
Priority: high Milestone: 1.9
Component: manipulation Version: git
Keywords: Cc:
Blocked by: Blocking:


The changes to 1.9 .replaceWith() that update the set for a disconnected element can leak jQuery data and events because the element is updated in the set without calling .remove() on the element in the set.

Upon reflection, I think it's a mistake to attempt to update the set anyway, since we always .pushStack() in those cases. So I think we should do the same as .before() or .after() and simply ignore disconnected elements.

Change History (4)

comment:1 Changed 11 years ago by dmethvin

Component: unfiledmanipulation
Milestone: None1.9
Owner: set to dmethvin
Priority: undecidedhigh
Status: newassigned
Version: 1.8.3git

comment:2 Changed 11 years ago by dmethvin

ref #11338

comment:3 Changed 11 years ago by Dave Methvin

Resolution: fixed
Status: assignedclosed

Fix #13019. Disconnected nodes with .replaceWith are a noop. Close gh-1062.

Changeset: f8f52cfcf4ff5d0e3e50a73b03aff0fd9c72105b

comment:4 Changed 11 years ago by Dave Methvin

Ref #13019 and gh-1062. Use parentNode check instead of isDisconnected().

Changeset: 2eda329be6ac2f68e9b313ee607ea24165c68755

Note: See TracTickets for help on using tickets.