Module Dom_html

module Dom_html: sig .. end
DOM HTML binding

This is a partial binding to the DOM HTML API.



CSS style declaration


class type cssStyleDeclaration = object .. end

Events


type ('a, 'b) event_listener = ('a, 'b) Dom.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.
type mouse_button = 
| No_button
| Left_button
| Middle_button
| Right_button
class type event = object .. end
class type mouseEvent = object .. end
class type keyboardEvent = object .. end
class type mousewheelEvent = object .. end
class type mouseScrollEvent = object .. end
class type touchEvent = object .. end
class type touchList = object .. end
class type touch = object .. end
class type dragEvent = object .. end
class type dataTransfer = object .. end
class type eventTarget = object .. end
Common properties of event target objects: onclick, onkeypress, ...
class type popStateEvent = object .. end
class type storageEvent = object .. end
class type storage = object .. end
Storage
class type hashChangeEvent = object .. end

HTML elements


class type nodeSelector = object .. end
class type tokenList = object .. end
class type element = object .. end
Properties common to all HTML elements
class type clientRect = object .. end
Rectangular box (used for element bounding boxes)
class type clientRectList = object .. end
class type ['node] collection = object .. end
Collection of HTML elements
class type htmlElement = element
class type headElement = object .. end
class type linkElement = object .. end
class type titleElement = object .. end
class type metaElement = object .. end
class type baseElement = object .. end
class type styleElement = object .. end
class type bodyElement = element
class type formElement = object .. end
class type optGroupElement = object .. end
class type optionElement = object .. end
class type selectElement = object .. end
class type inputElement = object .. end
class type textAreaElement = object .. end
class type buttonElement = object .. end
class type labelElement = object .. end
class type fieldSetElement = object .. end
class type legendElement = object .. end
class type uListElement = element
class type oListElement = element
class type dListElement = element
class type liElement = element
class type divElement = element
class type paragraphElement = element
class type headingElement = element
class type quoteElement = object .. end
class type preElement = element
class type brElement = element
class type hrElement = element
class type modElement = object .. end
class type anchorElement = object .. end
class type imageElement = object .. end
class type objectElement = object .. end
class type paramElement = object .. end
class type areaElement = object .. end
class type mapElement = object .. end
class type scriptElement = object .. end
class type tableCellElement = object .. end
class type tableRowElement = object .. end
class type tableColElement = object .. end
class type tableSectionElement = object .. end
class type tableCaptionElement = element
class type tableElement = object .. end
type videoElement 

Canvas object


type context 
val _2d_ : context
type canvasPattern 
class type canvasElement = object .. end
class type canvasRenderingContext2D = object .. end
class type canvasGradient = object .. end
class type textMetrics = object .. end
class type imageData = object .. end
class type canvasPixelArray = object .. end
val pixel_get : canvasPixelArray Js.t -> int -> int
val pixel_set : canvasPixelArray Js.t -> int -> int -> unit

Document objects


class type document = object .. end
val document : document Js.t
The current document

Window objects


class type location = object .. end
Location information
class type history = object .. end
Browser history information
class type undoManager = object .. end
Undo manager
class type selection = object .. end
Information on current selection
class type navigator = object .. end
Navigator information
class type screen = object .. end
class type applicationCache = object .. end
type interval_id 
type timeout_id 
class type window = object .. end
Specification of window objects
val window : window Js.t
The current window
val _requestAnimationFrame : (unit -> unit) Js.callback -> unit
Call the appropriate requestAnimationFrame method variant (depending on the navigator), or sleep for a short amount of time when there no such method is provided. We currently prefix the function name with as underscore as the interface of this function is not completely standardized yet. Thus, we leave the room to a function with a possibly refined type.
class type frameSetElement = object .. end
class type frameElement = object .. end
class type iFrameElement = object .. end

Event handlers


val no_handler : ('a, 'b) event_listener
see Dom.no_handler
val handler : ((#event as 'b) Js.t -> bool Js.t) ->
('a, 'b Js.t) event_listener
see Dom.handler
val full_handler : ('a -> (#event as 'b) Js.t -> bool Js.t) ->
('a, 'b Js.t) event_listener
see Dom.full_handler
val invoke_handler : ('a, 'b) event_listener -> 'a -> 'b -> bool Js.t
see Dom.invoke_handler
val eventTarget : #event Js.t -> element Js.t
see Dom.eventTarget
val eventRelatedTarget : #mouseEvent Js.t -> element Js.t Js.opt
Returns this event related target.
module Event: sig .. end
Event types: mousedown, keypress, ...
type event_listener_id = Dom.event_listener_id 
val addEventListener : (#eventTarget 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 addMousewheelEventListener : #eventTarget Js.t ->
(mouseEvent Js.t -> dx:int -> dy:int -> bool Js.t) ->
bool Js.t -> event_listener_id
Add a mousewheel event listener. The callback is provided the event and the numbers of ticks the mouse wheel moved. Positive means down / right.

Mouse event helper functions


val buttonPressed : #mouseEvent Js.t -> mouse_button

Position helper functions


val eventAbsolutePosition : #mouseEvent Js.t -> int * int
Returns the absolute position of the mouse pointer.
val elementClientPosition : #element Js.t -> int * int
Position of an element relative to the viewport
val getDocumentScroll : unit -> int * int
Viewport top/left position

Helper functions for creating HTML elements


val createHtml : document Js.t -> htmlElement Js.t
val createHead : document Js.t -> headElement Js.t
val createLink : document Js.t -> linkElement Js.t
val createTitle : document Js.t -> titleElement Js.t
val createMeta : document Js.t -> metaElement Js.t
val createBase : document Js.t -> baseElement Js.t
val createStyle : document Js.t -> styleElement Js.t
val createBody : document Js.t -> bodyElement Js.t
val createForm : document Js.t -> formElement Js.t
val createOptgroup : document Js.t -> optGroupElement Js.t
val createOption : document Js.t -> optionElement Js.t
val createSelect : ?_type:Js.js_string Js.t ->
?name:Js.js_string Js.t ->
document Js.t -> selectElement Js.t
val createInput : ?_type:Js.js_string Js.t ->
?name:Js.js_string Js.t ->
document Js.t -> inputElement Js.t
val createTextarea : ?_type:Js.js_string Js.t ->
?name:Js.js_string Js.t ->
document Js.t -> textAreaElement Js.t
val createButton : ?_type:Js.js_string Js.t ->
?name:Js.js_string Js.t ->
document Js.t -> buttonElement Js.t
val createLabel : document Js.t -> labelElement Js.t
val createFieldset : document Js.t -> fieldSetElement Js.t
val createLegend : document Js.t -> legendElement Js.t
val createUl : document Js.t -> uListElement Js.t
val createOl : document Js.t -> oListElement Js.t
val createDl : document Js.t -> dListElement Js.t
val createLi : document Js.t -> liElement Js.t
val createDiv : document Js.t -> divElement Js.t
val createP : document Js.t -> paragraphElement Js.t
val createH1 : document Js.t -> headingElement Js.t
val createH2 : document Js.t -> headingElement Js.t
val createH3 : document Js.t -> headingElement Js.t
val createH4 : document Js.t -> headingElement Js.t
val createH5 : document Js.t -> headingElement Js.t
val createH6 : document Js.t -> headingElement Js.t
val createQ : document Js.t -> quoteElement Js.t
val createBlockquote : document Js.t -> quoteElement Js.t
val createPre : document Js.t -> preElement Js.t
val createBr : document Js.t -> brElement Js.t
val createHr : document Js.t -> hrElement Js.t
val createIns : document Js.t -> modElement Js.t
val createDel : document Js.t -> modElement Js.t
val createA : document Js.t -> anchorElement Js.t
val createImg : document Js.t -> imageElement Js.t
val createObject : document Js.t -> objectElement Js.t
val createParam : document Js.t -> paramElement Js.t
val createMap : document Js.t -> mapElement Js.t
val createArea : document Js.t -> areaElement Js.t
val createScript : document Js.t -> scriptElement Js.t
val createTable : document Js.t -> tableElement Js.t
val createCaption : document Js.t -> tableCaptionElement Js.t
val createCol : document Js.t -> tableColElement Js.t
val createColgroup : document Js.t -> tableColElement Js.t
val createThead : document Js.t -> tableSectionElement Js.t
val createTfoot : document Js.t -> tableSectionElement Js.t
val createTbody : document Js.t -> tableSectionElement Js.t
val createTr : document Js.t -> tableRowElement Js.t
val createTh : document Js.t -> tableCellElement Js.t
val createTd : document Js.t -> tableCellElement Js.t
val createSub : document Js.t -> element Js.t
val createSup : document Js.t -> element Js.t
val createSpan : document Js.t -> element Js.t
val createTt : document Js.t -> element Js.t
val createI : document Js.t -> element Js.t
val createB : document Js.t -> element Js.t
val createBig : document Js.t -> element Js.t
val createSmall : document Js.t -> element Js.t
val createEm : document Js.t -> element Js.t
val createStrong : document Js.t -> element Js.t
val createCite : document Js.t -> element Js.t
val createDfn : document Js.t -> element Js.t
val createCode : document Js.t -> element Js.t
val createSamp : document Js.t -> element Js.t
val createKbd : document Js.t -> element Js.t
val createVar : document Js.t -> element Js.t
val createAbbr : document Js.t -> element Js.t
val createDd : document Js.t -> element Js.t
val createDt : document Js.t -> element Js.t
val createNoscript : document Js.t -> element Js.t
val createAddress : document Js.t -> element Js.t
val createFrameset : document Js.t -> frameSetElement Js.t
val createFrame : document Js.t -> frameElement Js.t
val createIframe : document Js.t -> iFrameElement Js.t
exception Canvas_not_available
val createCanvas : document Js.t -> canvasElement Js.t
Raises Canvas_not_available when canvas elements are not supported by the browser.

Coercion functions


val element : #Dom.element Js.t -> element Js.t
Coercion from a general DOM element to an HTML element. (Unsafe in general.)
type taggedElement = 
| A of anchorElement Js.t
| Area of areaElement Js.t
| Base of baseElement Js.t
| Blockquote of quoteElement Js.t
| Body of bodyElement Js.t
| Br of brElement Js.t
| Button of buttonElement Js.t
| Canvas of canvasElement Js.t
| Caption of tableCaptionElement Js.t
| Col of tableColElement Js.t
| Colgroup of tableColElement Js.t
| Del of modElement Js.t
| Div of divElement Js.t
| Dl of dListElement Js.t
| Fieldset of fieldSetElement Js.t
| Form of formElement Js.t
| Frameset of frameSetElement Js.t
| Frame of frameElement Js.t
| H1 of headingElement Js.t
| H2 of headingElement Js.t
| H3 of headingElement Js.t
| H4 of headingElement Js.t
| H5 of headingElement Js.t
| H6 of headingElement Js.t
| Head of headElement Js.t
| Hr of hrElement Js.t
| Html of htmlElement Js.t
| Iframe of iFrameElement Js.t
| Img of imageElement Js.t
| Input of inputElement Js.t
| Ins of modElement Js.t
| Label of labelElement Js.t
| Legend of legendElement Js.t
| Li of liElement Js.t
| Link of linkElement Js.t
| Map of mapElement Js.t
| Meta of metaElement Js.t
| Object of objectElement Js.t
| Ol of oListElement Js.t
| Optgroup of optGroupElement Js.t
| Option of optionElement Js.t
| P of paramElement Js.t
| Param of paramElement Js.t
| Pre of preElement Js.t
| Q of quoteElement Js.t
| Script of scriptElement Js.t
| Select of selectElement Js.t
| Style of styleElement Js.t
| Table of tableElement Js.t
| Tbody of tableSectionElement Js.t
| Td of tableColElement Js.t
| Textarea of textAreaElement Js.t
| Tfoot of tableSectionElement Js.t
| Th of tableColElement Js.t
| Thead of tableSectionElement Js.t
| Title of titleElement Js.t
| Tr of tableRowElement Js.t
| Ul of uListElement Js.t
| Other of element Js.t
val tagged : #element Js.t -> taggedElement
val opt_tagged : #element Js.t Js.opt -> taggedElement option
type taggedEvent = 
| MouseEvent of mouseEvent Js.t
| KeyboardEvent of keyboardEvent Js.t
| MousewheelEvent of mousewheelEvent Js.t
| MouseScrollEvent of mouseScrollEvent Js.t
| PopStateEvent of popStateEvent Js.t
| OtherEvent of event Js.t
val taggedEvent : #event Js.t -> taggedEvent
val opt_taggedEvent : #event Js.t Js.opt -> taggedEvent option
val stopPropagation : #event Js.t -> unit
module CoerceTo: sig .. end