Ticket #6355 (closed bug: fixed)
clone(true) creates bogus event bindings if you extend Array.prototype
| Reported by: | airportyh | Owned by: | dmethvin |
|---|---|---|---|
| Priority: | high | Milestone: | 1.5 |
| Component: | manipulation | Version: | 1.4.3 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
If you added extra methods to Array.prototype and use jQuery.clone(true) to clone an element which has bound events, it will create bogus event bindings: one for each extra method you added to Array.prototype. The test added to test/unit/manipulation.js demonstrates this.
The patch that fixes this is at: http://github.com/airportyh/jquery/commit/5e1bc7a973ae28f19f37759662ab0ea33076125c#comment_58550
Change History
comment:3 Changed 3 years ago by dmethvin
- need changed from Review to Commit
- Priority set to undecided
comment:5 Changed 3 years ago by dmethvin
- Version changed from 1.4.2 to 1.4.3
I thought this got committed for 1.4.3 but it didn't...
comment:8 Changed 2 years ago by mrgnrdrck
Seeing as this has already got a quality patch with an adequate test, it should be easy enough to integrate?
comment:10 Changed 2 years ago by dmethvin
comment:11 Changed 2 years ago by dmethvin
- Owner set to dmethvin
- Status changed from open to assigned
comment:12 Changed 2 years ago by snover
- Status changed from assigned to closed
- Resolution set to fixed
comment:13 Changed 2 years ago by jitter
- Milestone changed from 1.4.5 to 1.5
Move fixed tickets to appropriate milestone
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

+1. Just discovered this bug today on a site we're upgrading to 1.4.2. This did not happen under 1.3.2. It's in the cloneCopyEvent method, and affects IE.