Ticket #9901 (closed bug: fixed)
event.handleObj.namespace incorrect when using .delegate
| Reported by: | salohcinzero@… | Owned by: | dmethvin |
|---|---|---|---|
| Priority: | low | Milestone: | 1.7 |
| Component: | event | Version: | 1.6.2 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Affected versions: 1.4.4 and 1.6.2 (likely all other versions with .delegate) Browser: FF 5 Operating system: Win7 64-bit Repro steps: 1) I created a reduced example at: http://jsfiddle.net/TTp8w/3/ 2) Click both links 3) Inspect console log statements which show observed and expected behavior
Description: When i use delegate to bind namespaced event handlers, i need to use the namespace of the handler. This is stored in event.handleObj.namespace, but when using .delegate, this value seems to get garbled with the selector string.
Example: $("#container").delegate(".test1", "click.test1", function(e) { console.log(e.handlerObj.namespace) }); Expected log statement: 'test1' Observed log statement: '`test1.click.test1'
Change History
comment:2 Changed 22 months ago by dmethvin
- Owner set to dmethvin
- Priority changed from undecided to low
- Status changed from new to assigned
- Component changed from unfiled to event
- Milestone changed from None to 1.7
Confirmed. In the changes I'm doing for 1.7, this is fixed as a result of categorizing delegated events under the actual event name, rather than "live". Note to self: need QUnit test for this.
comment:3 Changed 20 months ago by Dave Methvin
- Status changed from assigned to closed
- Resolution set to fixed
Fix #9901, verified by this unit test.
Changeset: 63c9719330668f0165da1390e3aa53d4011aa0c2
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Updated jsFiddle link http://jsfiddle.net/TTp8w/4/
There are now 3 links: 1 bound with .delegate 1 bound with .live 1 bound with .bind
.bind behaves as expected, but both .delegate and .live do not.