Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#8814 closed defect (fixed)

overriding onmousemove etc. then connecting doesn't work

Reported by: bill Owned by: bill
Priority: high Milestone: 1.3
Component: Dijit Version: 1.3.0b2
Keywords: Cc:
Blocked By: Blocking:


See test_deferredConnects.html for test case.

If you specify an onmousemove handler on initialization (or any deferred-connect event), and then later do a dojo.connect() on that handler, the dojo.connnect() won't be called.

Change History (4)

comment:1 Changed 13 years ago by bill

Owner: set to bill
Status: newassigned

comment:2 Changed 13 years ago by bill

Resolution: fixed
Status: assignedclosed

(In [16926]) When specifying a deferred-connect handler (like onmousemove) as an initialization parameter, and then later doing a dojo.connect(), the connect wasn't working.

Problem was that the connection from the Widget.focusNode to Widget.onMouseMove() was incorrect; it connected to the actual function, rather than using the string "onMouseMove", so that the later dojo.connect() call, which replaces Widget.onMouseMove() with a dispatcher function, wasn't affecting what the Widget.focusNode connection was executing.

Fixes #8814 !strict.

comment:3 Changed 13 years ago by bill

(In [16929]) Automated tests for Widget.deferredConnect. Refs #8814 !strict.

comment:4 Changed 12 years ago by bill

(In [20395]) Apparently on IE8, a console.log() causes a mousemove event, and thus a console.log() on mousemove causes an infinite loop. So just print message on the first mousemove. Refs #8814 !strict.

Note: See TracTickets for help on using tickets.