Bug Tracker

Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#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:
Blocked by: Blocking:


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 (3)

comment:1 Changed 6 years ago by anonymous

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.

comment:2 Changed 6 years ago by dmethvin

Component: unfiledevent
Milestone: None1.7
Owner: set to dmethvin
Priority: undecidedlow
Status: newassigned

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.

Last edited 6 years ago by dmethvin (previous) (diff)

comment:3 Changed 6 years ago by Dave Methvin

Resolution: fixed
Status: assignedclosed

Fix #9901, verified by this unit test.

Changeset: 63c9719330668f0165da1390e3aa53d4011aa0c2

Note: See TracTickets for help on using tickets.