src/aria/utils/Event.js
function (element, event, callback, useCapture, filterFunction) {
                var added = false;
                var parent = element.parentElement || element.parentNode; // Fx < 9 compat
                while (parent != null) {
                    if (!filterFunction || filterFunction(parent)) {
                        added = this.addListener(parent, event, callback, useCapture) || added;
                    }
                    parent = parent.parentElement || parent.parentNode; // Fx < 9 compat
                }
                return added;
            }
function (element, event, callback, useCapture, filterFunction) {
                var added = false;
                var parent = element.parentElement || element.parentNode; // Fx < 9 compat
                while (parent != null) {
                    if (!filterFunction || filterFunction(parent)) {
                        added = this.addListener(parent, event, callback, useCapture) || added;
                    }
                    parent = parent.parentElement || parent.parentNode; // Fx < 9 compat
                }
                return added;
            }
function ( element , event , callback , useCapture , filterFunction ) { var added = false ; var parent = element . parentElement || element . parentNode ; // Fx < 9 compat while ( parent != null ) { if ( ! filterFunction || filterFunction ( parent ) ) { added = this . addListener ( parent , event , callback , useCapture ) || added ; } parent = parent . parentElement || parent . parentNode ; // Fx < 9 compat } return added ; }
Appends an event handler to the given element and its ancestors. Note that in general you should prefer
to use event delegation pattern for performance reasons. Use this method only for events that do not
bubble.
@param {HTMLElement} element an element reference to assign the listener to.
@param {String} event The type of event to append
@param {aria.utils.Callback|Object} callback The method the event invokes, if callback is of type Object
fn property is mandatory. <strong>Note that callback parameter cannot be a function - the form { fn :
{Function}, scope: {Object}, args : {MultiTypes}} is preferred for this callback</strong>
@param {Boolean} useCapture capture or bubble phase
@param {Function} filterFunction function used to select HTML elements to append the listener to (it
selects all the elements if the function is not provided)
@return {Boolean} True if at least one listener was added, false otherwise.
Appends an event handler to the given element and its ancestors . Note that in general you should prefer to use event delegation pattern for performance reasons . Use this method only for events that do not bubble .