plugin.NodeFocusManager Class
The NodeFocusManager class is a plugin for a Node instance. The class is used
via the plug
method of Node
and should not be instantiated directly.
Item Index
Methods
Attributes
Methods
_afterActiveDescendantChange
-
event
afterChange event handler for the "activeDescendant" attribute.
Parameters:
-
event
ObjectObject representing the change event.
_attachKeyHandler
()
protected
Attaches the "key" event handlers used to support the "keys" attribute.
_detachEventHandlers
()
protected
Attaches all event handlers used by the Focus Manager.
_detachEventHandlers
()
protected
Detaches all event handlers used by the Focus Manager.
_detachKeyHandler
()
protected
Detaches the "key" event handlers used to support the "keys" attribute.
_fireClick
()
protected
Fires the click event if the enter key is pressed while focused on an HTML element that is not natively clickable.
_focusNext
-
event
-
activeDescendant
Keydown event handler that moves focus to the next enabled descendant.
_focusPrevious
-
event
-
activeDescendant
Keydown event handler that moves focus to the previous enabled descendant.
_initDescendants
()
protected
Sets the tabIndex
attribute of all of the
descendants to -1, except the active descendant, whose
tabIndex
attribute is set to 0.
_isDescendant
-
node
Determines if the specified Node instance is a descendant managed by the Focus Manager.
Parameters:
-
node
NodeNode instance to be checked.
Returns:
_onDocFocus
-
event
"focus" event handler for the owner document of the Focus Manager's Node.
Parameters:
-
event
ObjectObject representing the DOM event.
_onDocMouseDown
-
event
"mousedown" event handler for the owner document of the Focus Manager's Node.
Parameters:
-
event
ObjectObject representing the DOM event.
_preventScroll
()
protected
Prevents the viewport from scolling when the user presses the up, down, left, or right key.
_removeFocusClass
()
protected
Removes the class name representing focus (as specified by the "focusClass" attribute) from the Node instance to which it is currently applied.
blur
()
Blurs the current active descendant and sets the
focused
attribute to false.
focus
-
index
-
index
Focuses the active descendant and sets the
focused
attribute to true.
refresh
()
Refreshes the Focus Manager's descendants by re-executing the
CSS selector query specified by the descendants
attribute.
start
()
Enables the Focus Manager.
stop
()
Disables the Focus Manager by detaching all event handlers.
Attributes
activeDescendant
Number
Node, or index of the Node, representing the descendant that is either
focused or is focusable (tabIndex
attribute is set to 0).
The value cannot represent a disabled descendant Node. Use a value of -1
to remove all descendant Nodes from the default tab flow.
If no value is specified, the active descendant will be inferred using
the following criteria:
- Examining the
tabIndex
attribute of each descendant and using the first descendant whosetabIndex
attribute is set to 0 - If no default can be inferred then the value is set to either 0 or the index of the first enabled descendant.
Fires event activeDescendantChange
Fires when the value for the configuration attribute activeDescendant
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
circular
Boolean
Boolean indicating if focus should be set to the first/last descendant when the end or beginning of the descendants has been reached.
Default: true
Fires event circularChange
Fires when the value for the configuration attribute circular
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
descendants
Y.NodeList
String representing the CSS selector used to define the descendant Nodes whose focus should be managed.
Fires event descendantsChange
Fires when the value for the configuration attribute descendants
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
focusClass
String | Object
String representing the name of class applied to the focused active
descendant Node. Can also be an object literal used to define both the
class name, and the Node to which the class should be applied. If using
an object literal, the format is:
{ className: "focus", fn: myFunction }
. The function
referenced by the fn
property in the object literal will be
passed a reference to the currently focused active descendant Node.
Fires event focusClassChange
Fires when the value for the configuration attribute focusClass
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
focused
Boolean
readonly
Boolean indicating that one of the descendants is focused.
Default: false
Fires event focusedChange
Fires when the value for the configuration attribute focused
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
keys
Object
Object literal representing the keys to be used to navigate between the
next/previous descendant. The format for the attribute's value is
{ next: "down:40", previous: "down:38" }
. The value for the
"next" and "previous" properties are used to attach
key
event listeners. See
the Using the key Event section of
the Event documentation for more information on "key" event listeners.
Fires event keysChange
Fires when the value for the configuration attribute keys
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added: