Opened 14 years ago
Closed 14 years ago
#4161 closed bug (duplicate)
Event handlers not preserved when appending to multiple elements
Reported by: | dalangalma | Owned by: | john |
---|---|---|---|
Priority: | major | Milestone: | 1.3.2 |
Component: | core | Version: | 1.3.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
In jQuery 1.3.1, if you create a new element, attach an event handler to it, and then append it to multiple elements, all but the first copy of the element lose their event handlers. This worked in 1.2.6.
There's a demo at http://brh.numbera.com/experiments/browserdemos/jquery-1.3.1-append-handlers.html - I've attached a copy to this ticket.
Attachments (1)
Change History (4)
Changed 14 years ago by
Attachment: | jquery-1.3.1-append-handlers.html added |
---|
comment:1 Changed 14 years ago by
Owner: | set to john |
---|
This does seem like a regression. The 1.3.1 domManip
is using the DOM cloneNode
method which doesn't carry over events. In 1.2.6 it used the jQuery clone
method which does.
comment:2 Changed 14 years ago by
There's an other important detail about this bug:
In 1.2.6 .append() leaves the source/prototype element intact when appending to multiple target elements...
In 1.3.1 the source/prototype element is always *moved* to the first target element...
See demo attached to ticket #4174
IMO this needs to be fixed as well
Demo of the bug