Pregunta

A medida que nos enfrentamos a los problemas de rendimiento de GWT en una aplicación móvil Me asomé a código de Google Wave, ya que se desarrolla con GWT.

Yo pensaba que todos los botones que hay reproductores, pero si nos fijamos en el HTML generado con Firebug te ven ningún conjunto atributo onclick en divs se puede hacer clic. Me pregunto cómo lo logran tener un elemento que haga clic en cuestiones o eventos MouseDown y aparentemente no siendo ni un widget ni inyectados con el atributo onclick.

Ser capaz de crear tales componentes sin duda me lleve un paso más para optimizar el rendimiento.

Gracias. PS: wasnt google va a código de cliente de código abierto también. no han sido capaces de encontrarlo.

¿Fue útil?

Solución

GWT cómo crear controladores dentro de un GWT Java aplicación:

public void anonClickHandlerExample() {
  Button b = new Button("Click Me");
  b.addClickHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
      // handle the click event
    }
  });
}

Esto generará un elemento HTML y se unen a un controlador de clic a ella. Sin embargo, en la práctica esto tiene el mismo resultado que utilizar document.getElementById('element').onclick() sobre un elemento existente en su página.

Otros consejos

Usted no tiene que poner un atributo onclick en el HTML para hacer que tenga un controlador onclick. Este es un ejemplo muy sencillo:

<div id="mydiv">Regular old div</div>

A continuación, en la secuencia de comandos:

document.getElementById('mydiv').onclick = function() { 
    alert('hello!');
}

No se establezca la propiedad onclick directamente, se habría visto la luz en el código GWT o por medio de otra biblioteca de Javascript.

Se puede conectar funciones al evento onclick uso de JavaScript. Aquí hay un ejemplo usando jQuery :

$(document).ready(function(){
    $("#div-id").click(function(){
        /* Do something */
    });
});

Si está interesado en optimizar el rendimiento de alrededor de esto, es posible que necesite para investigar delegación de eventos, dependiendo de su situación.

Un evento de clic se genera para cada elemento DOM dentro del cuerpo. El evento se desplaza desde el cuerpo hacia abajo al elemento hecho clic (a menos que esté utilizando Internet Explorer), golpea el elemento se hace clic, y luego burbujas de copia de seguridad. El evento puede ser capturado, ya sea a través de atributos DOM elemento, controladores de eventos en el JavaScript o atributos en cualquiera de nivel superior (el burbujeo o la captura de eventos disparadores esto).

Me imagino que acaban de establecer en un archivo .js. Hace fácilmente con, por ejemplo jQuery con $ (document) ready () por ejemplo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top