Yahoo! UI Library

node-focusmanager  3.0.0

Yahoo! UI Library > node-focusmanager > plugin.NodeFocusManager
Search:
 
Filters

Class plugin.NodeFocusManager

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.

Methods

_afterActiveDescendantChange

protected void _afterActiveDescendantChange ( event )
afterChange event handler for the "activeDescendant" attribute.
Parameters:
event <Object> Object representing the change event.

_attachKeyHandler

protected void _attachKeyHandler ( )
Attaches the "key" event handlers used to support the "keys" attribute.

_detachEventHandlers

protected void _detachEventHandlers ( )
Detaches all event handlers used by the Focus Manager.

_detachKeyHandler

protected void _detachKeyHandler ( )
Detaches the "key" event handlers used to support the "keys" attribute.

_focusNext

protected void _focusNext ( event , activeDescendant )
Keydown event handler that moves focus to the next enabled descendant.
Parameters:
event <Object> Object representing the DOM event.
activeDescendant <Number> Number representing the index of the next descendant to be focused

_focusPrevious

protected void _focusPrevious ( event , activeDescendant )
Keydown event handler that moves focus to the previous enabled descendant.
Parameters:
event <Object> Object representing the DOM event.
activeDescendant <Number> Number representing the index of the next descendant to be focused.

_initDescendants

protected void _initDescendants ( )
Sets the tabIndex attribute of all of the descendants to -1, except the active descendant, whose tabIndex attribute is set to 0.

_isDescendant

protected Boolean _isDescendant ( node )
Determines if the specified Node instance is a descendant managed by the Focus Manager.
Parameters:
node <Node> Node instance to be checked.
Returns: Boolean
Boolean indicating if the specified Node instance is a descendant managed by the Focus Manager.

_onDocFocus

protected void _onDocFocus ( event )
"focus" event handler for the owner document of the Focus Manager's Node.
Parameters:
event <Object> Object representing the DOM event.

_onDocMouseDown

protected void _onDocMouseDown ( event )
"mousedown" event handler for the owner document of the Focus Manager's Node.
Parameters:
event <Object> Object representing the DOM event.

_preventScroll

protected void _preventScroll ( )
Prevents the viewport from scolling when the user presses the up, down, left, or right key.

_removeFocusClass

protected void _removeFocusClass ( )
Removes the class name representing focus (as specified by the "focusClass" attribute) from the Node instance to which it is currently applied.

blur

void blur ( )
Blurs the current active descendant and sets the focused attribute to false.

focus

void focus ( index )
Focuses the active descendant and sets the focused attribute to true.
Parameters:
index <Number> Optional. Number representing the index of the descendant to be set as the active descendant.
index <Node> Optional. Node instance representing the descendant to be set as the active descendant.

refresh

void refresh ( )
Refreshes the Focus Manager's descendants by re-executing the CSS selector query specified by the descendants attribute.

start

void start ( )
Enables the Focus Manager.

stop

void stop ( )
Disables the Focus Manager by detaching all event handlers.

Events

activeDescendantChange

activeDescendantChange ( event )
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:
event <Event.Facade> An Event Facade object with the following attribute specific properties added:
prevVal
The value of the attribute, prior to it being set
newVal
The value the attribute is to be set to
attrName
The name of the attribute being set
subAttrName
If setting a property within the attribute's value, the name of the sub-attribute property being set

circularChange

circularChange ( event )
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:
event <Event.Facade> An Event Facade object with the following attribute specific properties added:
prevVal
The value of the attribute, prior to it being set
newVal
The value the attribute is to be set to
attrName
The name of the attribute being set
subAttrName
If setting a property within the attribute's value, the name of the sub-attribute property being set

descendantsChange

descendantsChange ( event )
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:
event <Event.Facade> An Event Facade object with the following attribute specific properties added:
prevVal
The value of the attribute, prior to it being set
newVal
The value the attribute is to be set to
attrName
The name of the attribute being set
subAttrName
If setting a property within the attribute's value, the name of the sub-attribute property being set

focusClassChange

focusClassChange ( event )
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:
event <Event.Facade> An Event Facade object with the following attribute specific properties added:
prevVal
The value of the attribute, prior to it being set
newVal
The value the attribute is to be set to
attrName
The name of the attribute being set
subAttrName
If setting a property within the attribute's value, the name of the sub-attribute property being set

focusedChange

focusedChange ( event )
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:
event <Event.Facade> An Event Facade object with the following attribute specific properties added:
prevVal
The value of the attribute, prior to it being set
newVal
The value the attribute is to be set to
attrName
The name of the attribute being set
subAttrName
If setting a property within the attribute's value, the name of the sub-attribute property being set

keysChange

keysChange ( event )
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:
event <Event.Facade> An Event Facade object with the following attribute specific properties added:
prevVal
The value of the attribute, prior to it being set
newVal
The value the attribute is to be set to
attrName
The name of the attribute being set
subAttrName
If setting a property within the attribute's value, the name of the sub-attribute property being set

Configuration 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:

  1. Examining the tabIndex attribute of each descendant and using the first descendant whose tabIndex attribute is set to 0
  2. If no default can be inferred then the value is set to either 0 or the index of the first enabled descendant.

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.

descendants - Y.NodeList

String representing the CSS selector used to define the descendant Nodes whose focus should be managed.

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.

focused - boolean

Boolean indicating that one of the descendants is focused.
Default Value: false

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.


Copyright © 2009 Yahoo! Inc. All rights reserved.