alvaro-prieto
11/4/2019 - 9:28 AM

quontrol eventos bindeo binding handlers bindear

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
el siguiente código va al finanl del "inicia" del quontrol.....
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 


//asociación de eventos en formato declarativo
var eventHandlers = [
  {
    descripcion: "Captura cuando el control ha sido redimensionado (notificado por qResponsive)",
    evento: "redimensionado",
    handler: this.quontrol._resizeHandler
  },
  {
    descripcion: "---",
    evento: "click",
    selector: ".grupo",
    handler: this.quontrol._muestraDropdown,
    deshabilitado: 0
  },
  {
    descripcion: "---",
    evento: "click",
    selector: ".qItem.conEnlace",
    handler: this.quontrol._clickTab
  },
  {
    descripcion: "---",
    evento: "click",
    global: true,  //esto permitiría indicar que el selector no se ve limitado por el quontrol (algo poco común)
    selector: ".tabDropdown .inner",
    handler: this.quontrol._clickTab,
  }
];
	
this.quontrol._bindeaEventos( eventHandlers );


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
la siguiente función va debajo, como una función independiente
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

//═══════════[ HANDLERS ]═══════════════════════════════════
"_bindeaEventos": function(bindings){
    var i, bind, q = this.quontrol, global = $(document);
    function crearHandlerGlobal(bind) {
        return function(e) {
            bind.handler.call(q, e, $(bind.selector));
        };
    }
    for (i = 0; i < bindings.length; i++){
        bind = bindings[i];
        if (!bind.deshabilitado && bind.evento && bind.handler){
            if (bind.selector){
                if (bind.global){
                    global.on(bind.evento, bind.selector, crearHandlerGlobal(bind) );
                }else{
                    q.on(bind.evento, bind.selector, bind.handler);
                }
            }else{
                (bind.global ? global : q).on(bind.evento, bind.handler);
            }   
        }
    }
},