//****c* XTools/XEvents // NAME // XEvents // // DESCRIPTION // Configura uma ação a ser executada quando ocorrer um determinado evento em um objeto. // // AUTHOR // Rodrigo Souza dos Santos // |html
rodrigo.souza@celepar.pr.gov.br // |html
rodrigosouzadossantos@gmail.com // //****** // You can use this space for remarks that should not be included // in the documentation. // ( function( ) { //****im* XEvents/config // NAME // config // // DESCRIPTION // Configura ( adiciona ou remove ) uma ação a um objeto ( node ). // // SYNOPSIS function config( pObj, pEvent, pHandler ) // INPUTS // pObj : // pEvent : // pHandler : // // SOURCE { if ( typeof pObj == 'object' ) { if ( pEvent.substring( 0, 2 ) == 'on' ) pEvent = pEvent.substring( 2, pEvent.length ); if ( arguments.length == 3 ) { if ( pObj.addEventListener ) pObj.addEventListener( pEvent, pHandler, false ); else if ( pObj.attachEvent ) pObj.attachEvent( 'on' + pEvent, pHandler ); ( arguments[ 0 ].preventDefault ) ? arguments[ 0 ].preventDefault( ) : arguments[ 0 ].returnValue = false; } else if ( arguments.length == 4 ) { if ( pObj.removeEventListener ) pObj.removeEventListener( pEvent, pHandler, false ); else if ( pObj.detachEvent ) pObj.detachEvent( 'on' + pEvent, pHandler ); } } } // // NOTES // Ações anônimas não podem ser removidas // //****** //****m* XEvents/add // NAME // add // // DESCRIPTION // Adiciona uma ação a um objeto ( node ). // // SYNOPSIS function add( pObj, pEvent, pHandler ) // INPUTS // pObj : // pEvent : // pHandler : // { config( pObj, pEvent, pHandler ); } // // NOTES // Ações anônimas não podem ser removidas // // EXAMPLE // function myHandler( ) // { // /*do something*/ // } // // XEvents.add( node, 'onclick', myHandler ); // // XEvents.add( node, "onclick", function( ) // { // /*do something*/ // } ); // //****** //****m* XEvents/remove // NAME // remove // // DESCRIPTION // Remove a ação de um objeto ( node ). // // SYNOPSIS function remove( pObj, pEvent, pHandler ) // INPUTS // pObj : // pEvent : // pHandler : // { config( pObj, pEvent, pHandler, true ); } // // NOTES // Ações anônimas não podem ser removidas // // EXAMPLE // XEvents.remove( node, 'onclick', myHandler ); // //****** function Events( ) { } Events.prototype.add = add; Events.prototype.remove = remove; window.XEvents = new Events; } )( );