Class EventListenersContainer
java.lang.Object
org.htmlunit.javascript.host.event.EventListenersContainer
- All Implemented Interfaces:
Serializable
Container for event listener.
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final EventTarget
private static final org.apache.commons.logging.Log
private final ConcurrentMap
<String, EventListenersContainer.TypeContainer> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
addEventListener
(String type, org.htmlunit.corejs.javascript.Scriptable listener, boolean useCapture) Adds an event listener.void
executeAtTargetListeners
(Event event, Object[] args) Executes listeners for events targeting the node.void
executeBubblingListeners
(Event event, Object[] args) Executes bubbling listeners.void
executeCapturingListeners
(Event event, Object[] args) Executes capturing listeners.private void
executeEventListeners
(int eventPhase, Event event, Object[] args) org.htmlunit.corejs.javascript.Function
getEventHandler
(String eventType) Returns an event handler.List
<org.htmlunit.corejs.javascript.Scriptable> getListeners
(String eventType, boolean useCapture) Returns the relevant listeners.getTypeContainer
(String type) (package private) boolean
hasEventListeners
(String eventType) Returnstrue
if there are any event listeners for the specified event.(package private) void
removeEventListener
(String eventType, org.htmlunit.corejs.javascript.Scriptable listener, boolean useCapture) Removes event listener.void
setEventHandler
(String eventType, Object value) Sets the handler property (with a handler or something else).toString()
-
Field Details
-
LOG
private static final org.apache.commons.logging.Log LOG -
typeContainers_
-
jsNode_
-
-
Constructor Details
-
EventListenersContainer
The constructor.- Parameters:
jsNode
- the node.
-
-
Method Details
-
addEventListener
public boolean addEventListener(String type, org.htmlunit.corejs.javascript.Scriptable listener, boolean useCapture) Adds an event listener.- Parameters:
type
- the event type to listen for (like "load")listener
- the event listeneruseCapture
- Iftrue
, indicates that the user wishes to initiate capture (not yet implemented)- Returns:
true
if the listener has been added
-
getTypeContainer
-
getListeners
public List<org.htmlunit.corejs.javascript.Scriptable> getListeners(String eventType, boolean useCapture) Returns the relevant listeners.- Parameters:
eventType
- the event typeuseCapture
- whether to use capture of not- Returns:
- the listeners list (empty list when empty)
-
removeEventListener
void removeEventListener(String eventType, org.htmlunit.corejs.javascript.Scriptable listener, boolean useCapture) Removes event listener.- Parameters:
eventType
- the typelistener
- the listeneruseCapture
- to use capture or not
-
setEventHandler
Sets the handler property (with a handler or something else).- Parameters:
eventType
- the event type (like "click")value
- the new property
-
executeEventListeners
-
executeBubblingListeners
Executes bubbling listeners.- Parameters:
event
- the eventargs
- arguments
-
executeCapturingListeners
Executes capturing listeners.- Parameters:
event
- the eventargs
- the arguments
-
executeAtTargetListeners
Executes listeners for events targeting the node. (non-propagation phase)- Parameters:
event
- the eventargs
- the arguments
-
getEventHandler
Returns an event handler.- Parameters:
eventType
- the event name (e.g. "click")- Returns:
- the handler function,
null
if the property is null or not a function
-
hasEventListeners
Returnstrue
if there are any event listeners for the specified event.- Parameters:
eventType
- the event type (e.g. "click")- Returns:
true
if there are any event listeners for the specified event,false
otherwise
-
toString
-