Class DomEvent

java.lang.Object
java.util.EventObject
com.vaadin.flow.dom.DomEvent
All Implemented Interfaces:
Serializable

public class DomEvent extends EventObject
Server-side representation of a DOM event fired in the browser.
Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Constructor Details

  • Method Details

    • getSource

      public Element getSource()
      Returns the element on which the listener has been attached.
      Overrides:
      getSource in class EventObject
      Returns:
      The element on which the listener has been attached.
      See Also:
    • getType

      public String getType()
      Gets the type of the event.
      Returns:
      the type of the event
    • getEventData

      public elemental.json.JsonObject getEventData()
      Gets additional data related to the event. An empty JSON object is returned if no event data is available.
      Returns:
      a JSON object containing event data, never null
      See Also:
    • getPhase

      public DebouncePhase getPhase()
      Gets the debounce phase for which this event is fired. This is used internally to only deliver the event to the appropriate listener in cases where there are multiple listeners for the same event with different debounce settings.
      Returns:
      the debounce phase
    • getEventTarget

      public Optional<Element> getEventTarget()
      Gets the closest Element that corresponds to the event.target for the DOM event. This is always inside the child hierarchy of the element returned by getSource().

      To get this reported, you need to call DomListenerRegistration.mapEventTargetElement() or an empty optional is always returned.

      The returned element is the same as getSource() only if the event originated from that element on the browser (and not from its child).

      Returns:
      the element that corresponds to event.target or an empty optional
      Since:
      9.0
    • getEventDataElement

      public Optional<Element> getEventDataElement(String eventDataExpression)
      Gets the closest Element corresponding to the given event data expression. NOTE: this only works if you have added the expression using DomListenerRegistration.addEventDataElement(String).

      If the evaluated JS expression returned an element that is not created or controlled by the server side, the closest parent element that is controlled is returned instead. Invisible elements are not reported.

      In case you want the event.target element, use getEventTarget() instead.

      Parameters:
      eventDataExpression - the expression that was executed on the client to retrieve the element, not null
      Returns:
      the element that corresponds to the given expression or an empty optional
      Since:
      9.0