Opened 12 years ago

Closed 12 years ago

#3734 closed defect (fixed)

_onBlur not called when focus moves from edit widget out of client area

Reported by: ptbrunet Owned by: bill
Priority: high Milestone: 0.9
Component: Dijit Version: 0.9
Keywords: Cc: brunet@…
Blocked By: Blocking:

Description

_onBlur is not called if in the edit box and shift tabbing backward out of the first widget or tabbing forward out of the last widget.

Change History (2)

comment:1 Changed 12 years ago by bill

Right, so the trick here is differentiating between

  • when focus disappears because you click a non-focusable item (like the spinner arrows). On IE this makes the focus on the <input> disappear
  • OR focus disappears because you tabbed off the client area.

Looking at: http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/util/test_focusWidget.html

Tabbing off the last focusable element should put the entire stack of active widgets as inactive. I.e. all the red borders should disappear. (Doesn't work currently.) Have to detect when there's an onblur event (or maybe a TAB/shift-TAB that bubbles up to <body>) without a corresponding onfocus event or mousedown event, as a queue that focus has moved off the screen.

Or is there a better way to detect that?

comment:2 Changed 12 years ago by bill

Resolution: fixed
Status: newclosed

(In [9822]) Bunch of code to properly detect when focus goes off into outer space (ie, when tabbing off the last field on the page). Fixes #3734.

Note: See TracTickets for help on using tickets.