Module Dom
module Dom : sig..end
DOM binding
This is a partial binding to the DOM Core API.
DOM objects ¶
class type ['node]nodeList = object..end
Specification of NodeList objects.
type nodeType = | OTHER | ELEMENT | ATTRIBUTE | TEXT | CDATA_SECTION | ENTITY_REFERENCE | ENTITY | PROCESSING_INSTRUCTION | COMMENT | DOCUMENT | DOCUMENT_TYPE | DOCUMENT_FRAGMENT | NOTATION
module DocumentPosition : sig..end
class type node = object..end
Specification of Node objects.
class type attr = object..end
Specification of Attr objects.
class type [attr]namedNodeMap = object..end
Specification of NamedNodeMap objects.
class type element = object..end
Specification of Element objects.
class type characterData = object..end
Specification of CharacterData objects.
class type comment = characterData
Specification of Comment objects
class type text = characterData
Specification of Text objects.
class type documentFragment = node
Specification of DocumentFragment objects.
class type ['element]document = object..end
Specification of Document objects.
Helper functions ¶
val insertBefore : #node Js.t -> #node Js.t -> #node Js.t Js.opt -> unit
insertBefore p n c inserts node n as child of node p, just before node c, or as last child if p is empty. The expression insertBefore n c p behave the same as p##insertBefore n c but avoid the need of coercing the different objects to node t.
val replaceChild : #node Js.t -> #node Js.t -> #node Js.t -> unit
The expression replaceChild p n c behave the same as p##replaceChild n c (replace c by n in p) but avoid the need of coercing the different objects to node t.
val removeChild : #node Js.t -> #node Js.t -> unit
The expression removeChild n c behave the same as n##removeChild c (remove c from n) but avoid the need of coercing the different objects to node t.
val appendChild : #node Js.t -> #node Js.t -> unit
The expression appendChild n c behave the same as n##appendChild c (appends c to n) but avoid the need of coercing the different objects to node t.
val list_of_nodeList : 'a nodeList Js.t -> 'a Js.t list
type node_type = | Element of element Js.t | Attr of attr Js.t | Text of text Js.t | Other of node Js.t
val nodeType : #node Js.t -> node_type
module CoerceTo : sig..end
Events ¶
type (-'a, -'b) event_listener
The type of event listener functions. The first type parameter 'a is the type of the target object; the second parameter 'b is the type of the event object.
class type ['a]event = object..end
Event handlers ¶
val no_handler : ('a, 'b) event_listener
Void event handler (Javascript null value).
val handler :
(('e #event as 'b) Js.t -> bool Js.t) ->
('a, 'b Js.t) event_listener
Create an event handler that invokes the provided function. If the handler returns false, the default action is prevented.
val full_handler :
('a -> ('e #event as 'b) Js.t -> bool Js.t) ->
('a, 'b Js.t) event_listener
Create an event handler that invokes the provided function. The event target (implicit parameter this) is also passed as argument to the function.
val invoke_handler : ('a, 'b) event_listener -> 'a -> 'b -> bool Js.t
Invoke an existing handler. Useful to chain event handlers.
val eventTarget : (< .. > as 'a) #event Js.t -> 'a Js.t
Returns which object is the target of this event. It raises Not_found in case there is no target (if the event has not been triggered yet)
type event_listener_id
module Event : sig..end
val addEventListener :
(< .. > as 'a) Js.t ->
'b Event.typ ->
('a Js.t, 'b) event_listener -> bool Js.t -> event_listener_id
Add an event listener. This function matches the addEventListener DOM method, except that it returns an id for removing the listener.
val removeEventListener : event_listener_id -> unit
Remove the given event listener.
val preventDefault : 'a #event Js.t -> unit
Call this to prevent the default handler for the event. To stop propagation of the event, call Dom_html.stopPropagation.
Other DOM objects ¶
class type stringList = object..end