Hydra.js e extensão do módulo Delegate.
Sobre Hydra.js – http://tcorral.github.io/Hydra.js/#documentation
Delegate é uma extensão que registra um módulo básico para delegar eventos para documentar em vez de anexar eventos a diferentes elementos no DOM.
Este módulo economizará muita memória em seus aplicativos.
Requisitos
Você precisará carregá-lo após o Hydra.js e depois de todos os arquivos armazenados na pasta de utilitários neste repositório.
Adicione em seu aplicativo
Criamos Delegate para ser usado com e sem require.js
Simples
<script type="text/javascript" src="Hydra.js"></script>
// Crossbrowsing Array.prototype.indexOf implementation
<script type="text/javascript" src="utilities/array_indexOf.js"></script>
// Crossbrowsing function to convert NodeList to Array
<script type="text/javascript" src="utilities/nodelist_to_array.js"></script>
// Crossbrowsing function to attach events to DOM elements.
<script type="text/javascript" src="utilities/events.js"></script>
Usando require.js
require('utilities/events', 'utilities/array_indexOf', 'utilities/nodelist_to_array', 'delegate');
Uso
Para usar Delegate, você só precisa estender o ‘delegate-base-module’. Veja a documentação extensa em http://tcorral.github.io/Hydra.js/#documentation .
Estendendo ‘delegate-base-module’
Hydra.module.extend( 'delegate-base-module', 'new-module-with-delegation', function ( oBus )
{
return {
domEvents: {
'click .test': function ( eEvent )
{
//The context of this function is the element that we expect trigger the event.
}
},
init: function ()
{
this.__super__.__call__('init'); // Needed to execute the delegation of events.
// Some start code.
},
onDestroy: function ()
{
// Some stop code.
this.__super__.__call__('onDestroy'); // Needed to execute the unbind of events.
}
};
} );
Licença
Delegate as Hydra.js extensões são licenciadas sob a licença MIT.