2011-03-03 6 views
6

Me he encontrado con esto varias veces, y no puedo encontrar nada exhaustivo. Quiero saber la lista completa de todos los eventos DOM consumibles válidos para GWT.¿Cuál es la lista de eventos GWT DOM/consumidos válidos para las celdas?

El GWT docs para NativeEvent dice:

public final java.lang.String getType() 
Gets the enumerated type of this event. 
Returns: 
the event's enumerated type 

¿Dónde está esta enumeración? ¿Realmente existe? El código real utilizado (que he encontrado) que dice explícitamente que estos eventos siempre usan cadenas: "clic", "menú contextual", "mouseup", "dblclick", etc. (etc. cubre tantos vaguaries ...)

Estoy intentando implementar Double Click y Right Click para celdas en un ala de Celularable this post. Paso super ("click", "contextmenu", "mouseup", "dblclick"); en el constructor de mi extensión de AbstractCell. Luego anulé onBrowserEvent:

@Override 

    public void onBrowserEvent(Context context, Element parent, ImageProperties<T> value, 
      NativeEvent event, ValueUpdater<ImageProperties<T>> valueUpdater) { 
     if (event.getButton() == NativeEvent.BUTTON_RIGHT) { 
      event.stopPropagation(); 
      event.preventDefault(); 
      eventBus.fireEvent(new RightClickEvent<Context>(context, event)); 
     } else { 
      super.onBrowserEvent(context, parent, value, event, valueUpdater); 
     } 
    } 

Sin embargo, me encontré con dos problemas. Uno, el contextMenu predeterminado todavía se muestra (sobre el mío personalizado), sin mencionar que ni siquiera usa el tipo de evento DOM. Un problema diferente, ¿cómo puedo verificar si es un evento de doble clic? Me resulta difícil de creer que es literalmente un conjunto arbitrario de cadenas ...

Gracias de antemano! John

+0

La solución a la doble clic es: si (event.getType() igual ("dblclick").) – John

Respuesta

4

Nativo JavaScript Los tipos de eventos DOM really are arbitrary strings y la compatibilidad para un tipo de evento dado (y su nombre) pueden depender del navegador.

2

la enumeración que busca existe en el BrowserEvents class. debería usar esas constantes en lugar de literales de cadena "mágicos".

+0

después de todo, está utilizando GWT, ya que no quiere molestarse con peculiaridades del navegador, amirite? ;) –

Cuestiones relacionadas