Bug Tracker

Ticket #9901 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

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:


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:1 Changed 4 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 4 years 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.

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

comment:3 Changed 4 years ago by Dave Methvin

  • Status changed from assigned to closed
  • Resolution set to fixed

Fix #9901, verified by this unit test.

Changeset: 63c9719330668f0165da1390e3aa53d4011aa0c2

Note: See TracTickets for help on using tickets.