Up

module Dom_html

: sig

DOM HTML binding

This is a partial binding to the DOM HTML API.

CSS style declaration

#
class type cssStyleDeclaration =
#
method background : Js.js_string Js.t Js.prop
#
method backgroundAttachment : Js.js_string Js.t Js.prop
#
method backgroundColor : Js.js_string Js.t Js.prop
#
method backgroundImage : Js.js_string Js.t Js.prop
#
method backgroundPosition : Js.js_string Js.t Js.prop
#
method backgroundRepeat : Js.js_string Js.t Js.prop
#
method border : Js.js_string Js.t Js.prop
#
method borderBottom : Js.js_string Js.t Js.prop
#
method borderBottomColor : Js.js_string Js.t Js.prop
#
method borderBottomStyle : Js.js_string Js.t Js.prop
#
method borderBottomWidth : Js.js_string Js.t Js.prop
#
method borderCollapse : Js.js_string Js.t Js.prop
#
method borderColor : Js.js_string Js.t Js.prop
#
method borderLeft : Js.js_string Js.t Js.prop
#
method borderLeftColor : Js.js_string Js.t Js.prop
#
method borderLeftStyle : Js.js_string Js.t Js.prop
#
method borderLeftWidth : Js.js_string Js.t Js.prop
#
method borderRadius : Js.js_string Js.t Js.prop
#
method borderRight : Js.js_string Js.t Js.prop
#
method borderRightColor : Js.js_string Js.t Js.prop
#
method borderRightStyle : Js.js_string Js.t Js.prop
#
method borderRightWidth : Js.js_string Js.t Js.prop
#
method borderSpacing : Js.js_string Js.t Js.prop
#
method borderStyle : Js.js_string Js.t Js.prop
#
method borderTop : Js.js_string Js.t Js.prop
#
method borderTopColor : Js.js_string Js.t Js.prop
#
method borderTopStyle : Js.js_string Js.t Js.prop
#
method borderTopWidth : Js.js_string Js.t Js.prop
#
method borderWidth : Js.js_string Js.t Js.prop
#
method bottom : Js.js_string Js.t Js.prop
#
method captionSide : Js.js_string Js.t Js.prop
#
method clear : Js.js_string Js.t Js.prop
#
method clip : Js.js_string Js.t Js.prop
#
method color : Js.js_string Js.t Js.prop
#
method content : Js.js_string Js.t Js.prop
#
method counterIncrement : Js.js_string Js.t Js.prop
#
method counterReset : Js.js_string Js.t Js.prop
#
method cssFloat : Js.js_string Js.t Js.prop
#
method cssText : Js.js_string Js.t Js.prop
#
method cursor : Js.js_string Js.t Js.prop
#
method direction : Js.js_string Js.t Js.prop
#
method display : Js.js_string Js.t Js.prop
#
method emptyCells : Js.js_string Js.t Js.prop
#
method fill : Js.js_string Js.t Js.prop
#
method font : Js.js_string Js.t Js.prop
#
method fontFamily : Js.js_string Js.t Js.prop
#
method fontSize : Js.js_string Js.t Js.prop
#
method fontStyle : Js.js_string Js.t Js.prop
#
method fontVariant : Js.js_string Js.t Js.prop
#
method fontWeight : Js.js_string Js.t Js.prop
#
method height : Js.js_string Js.t Js.prop
#
method left : Js.js_string Js.t Js.prop
#
method letterSpacing : Js.js_string Js.t Js.prop
#
method lineHeight : Js.js_string Js.t Js.prop
#
method listStyle : Js.js_string Js.t Js.prop
#
method listStyleImage : Js.js_string Js.t Js.prop
#
method listStylePosition : Js.js_string Js.t Js.prop
#
method listStyleType : Js.js_string Js.t Js.prop
#
method margin : Js.js_string Js.t Js.prop
#
method marginBottom : Js.js_string Js.t Js.prop
#
method marginLeft : Js.js_string Js.t Js.prop
#
method marginRight : Js.js_string Js.t Js.prop
#
method marginTop : Js.js_string Js.t Js.prop
#
method maxHeight : Js.js_string Js.t Js.prop
#
method maxWidth : Js.js_string Js.t Js.prop
#
method minHeight : Js.js_string Js.t Js.prop
#
method minWidth : Js.js_string Js.t Js.prop
#
method opacity : Js.js_string Js.t Js.optdef Js.prop
#
method outline : Js.js_string Js.t Js.prop
#
method outlineColor : Js.js_string Js.t Js.prop
#
method outlineOffset : Js.js_string Js.t Js.prop
#
method outlineStyle : Js.js_string Js.t Js.prop
#
method outlineWidth : Js.js_string Js.t Js.prop
#
method overflow : Js.js_string Js.t Js.prop
#
method overflowX : Js.js_string Js.t Js.prop
#
method overflowY : Js.js_string Js.t Js.prop
#
method padding : Js.js_string Js.t Js.prop
#
method paddingBottom : Js.js_string Js.t Js.prop
#
method paddingLeft : Js.js_string Js.t Js.prop
#
method paddingRight : Js.js_string Js.t Js.prop
#
method paddingTop : Js.js_string Js.t Js.prop
#
method pageBreakAfter : Js.js_string Js.t Js.prop
#
method pageBreakBefore : Js.js_string Js.t Js.prop
#
method pointerEvents : Js.js_string Js.t Js.prop
#
method position : Js.js_string Js.t Js.prop
#
method right : Js.js_string Js.t Js.prop
#
method stroke : Js.js_string Js.t Js.prop
#
method strokeWidth : Js.js_string Js.t Js.prop
#
method tableLayout : Js.js_string Js.t Js.prop
#
method textAlign : Js.js_string Js.t Js.prop
#
method textAnchor : Js.js_string Js.t Js.prop
#
method textDecoration : Js.js_string Js.t Js.prop
#
method textIndent : Js.js_string Js.t Js.prop
#
method textTransform : Js.js_string Js.t Js.prop
#
method top : Js.js_string Js.t Js.prop
#
method verticalAlign : Js.js_string Js.t Js.prop
#
method visibility : Js.js_string Js.t Js.prop
#
method whiteSpace : Js.js_string Js.t Js.prop
#
method width : Js.js_string Js.t Js.prop
#
method wordSpacing : Js.js_string Js.t Js.prop
#
method zIndex : Js.js_string Js.t Js.prop

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 =
inherit [element] Dom.event
#
class type mouseEvent =
inherit event
#
method relatedTarget : element Js.t Js.opt Js.optdef Js.readonly_prop
#
method clientX : int Js.readonly_prop
#
method clientY : int Js.readonly_prop
#
method screenX : int Js.readonly_prop
#
method screenY : int Js.readonly_prop
#
method ctrlKey : bool Js.t Js.readonly_prop
#
method shiftKey : bool Js.t Js.readonly_prop
#
method altKey : bool Js.t Js.readonly_prop
#
method metaKey : bool Js.t Js.readonly_prop
#
method button : int Js.readonly_prop
#
method fromElement : element Js.t Js.opt Js.optdef Js.readonly_prop
#
method toElement : element Js.t Js.opt Js.optdef Js.readonly_prop
#
method pageX : int Js.optdef Js.readonly_prop
#
method pageY : int Js.optdef Js.readonly_prop
#
class type keyboardEvent =
inherit event
#
method charCode : int Js.optdef Js.readonly_prop
#
method keyCode : int Js.readonly_prop
#
method keyIdentifier : Js.js_string Js.t Js.optdef Js.readonly_prop
#
method altKey : bool Js.t Js.readonly_prop
#
method shiftKey : bool Js.t Js.readonly_prop
#
method ctrlKey : bool Js.t Js.readonly_prop
#
method metaKey : bool Js.t Js.readonly_prop
#
class type mousewheelEvent =
inherit mouseEvent
#
method wheelDelta : int Js.readonly_prop
#
method wheelDeltaX : int Js.optdef Js.readonly_prop
#
method wheelDeltaY : int Js.optdef Js.readonly_prop
#
class type mouseScrollEvent =
inherit mouseEvent
#
method detail : int Js.readonly_prop
#
method axis : int Js.optdef Js.readonly_prop
#
method _HORIZONTAL_AXIS : int Js.optdef Js.readonly_prop
#
method _VERTICAL_AXIS : int Js.optdef Js.readonly_prop
#
class type touchEvent =
inherit event
#
method touches : touchList Js.t Js.readonly_prop
#
method targetTouches : touchList Js.t Js.readonly_prop
#
method changedTouches : touchList Js.t Js.readonly_prop
#
method ctrlKey : bool Js.t Js.readonly_prop
#
method shiftKey : bool Js.t Js.readonly_prop
#
method altKey : bool Js.t Js.readonly_prop
#
method metaKey : bool Js.t Js.readonly_prop
#
method relatedTarget : element Js.t Js.opt Js.optdef Js.readonly_prop
#
class type touchList =
#
method length : int Js.readonly_prop
#
method item : int -> touch Js.t Js.optdef Js.meth
#
class type touch =
#
method identifier : int Js.readonly_prop
#
method target : element Js.t Js.optdef Js.readonly_prop
#
method screenX : int Js.readonly_prop
#
method screenY : int Js.readonly_prop
#
method clientX : int Js.readonly_prop
#
method clientY : int Js.readonly_prop
#
method pageX : int Js.readonly_prop
#
method pageY : int Js.readonly_prop
#
class type dragEvent =
inherit mouseEvent
#
method dataTransfer : dataTransfer Js.t Js.readonly_prop
#
class type dataTransfer =
#
method dropEffect : Js.js_string Js.t Js.prop
#
method effectAllowed : Js.js_string Js.t Js.prop
#
method files : File.fileList Js.t Js.readonly_prop
#
method types : Dom.stringList Js.t Js.readonly_prop
#
method addElement : element Js.t -> unit Js.meth
#
method clearData : Js.js_string Js.t -> unit Js.meth
#
method clearData_all : unit Js.meth
#
method getData : Js.js_string Js.t -> Js.js_string Js.t Js.meth
#
method setData : Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
#
method setDragImage : element Js.t -> int -> int -> unit Js.meth
#
class type eventTarget = ('self)
#
method onclick : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method ondblclick : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method onmousedown : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method onmouseup : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method onmouseover : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method onmousemove : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method onmouseout : ('self Js.t, mouseEvent Js.t) event_listener Js.writeonly_prop
#
method onkeypress : ('self Js.t, keyboardEvent Js.t) event_listener Js.writeonly_prop
#
method onkeydown : ('self Js.t, keyboardEvent Js.t) event_listener Js.writeonly_prop
#
method onkeyup : ('self Js.t, keyboardEvent Js.t) event_listener Js.writeonly_prop
#
method onscroll : ('self Js.t, event Js.t) event_listener Js.writeonly_prop
#
method ondragstart : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop
#
method ondragend : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop
#
method ondragenter : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop
#
method ondragover : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop
#
method ondragleave : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop
#
method ondrag : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop
#
method ondrop : ('self Js.t, dragEvent Js.t) event_listener Js.writeonly_prop

Common properties of event target objects: onclick, onkeypress, ...

#
class type popStateEvent =
inherit event
#
method state : Js.Unsafe.any Js.readonly_prop
#
class type storageEvent =
inherit event
#
method key : Js.js_string Js.t Js.readonly_prop
#
method oldValue : Js.js_string Js.t Js.opt Js.readonly_prop
#
method keynewValue : Js.js_string Js.t Js.opt Js.readonly_prop
#
method url : Js.js_string Js.t Js.readonly_prop
#
method storageArea : storage Js.t Js.opt Js.readonly_prop
#
class type storage =
#
method length : int Js.readonly_prop
#
method key : int -> Js.js_string Js.t Js.opt Js.meth
#
method getItem : Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
#
method setItem : Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
#
method removeItem : Js.js_string Js.t -> unit Js.meth
#
method clear : unit Js.meth

Storage

#
class type hashChangeEvent =
inherit event
#
method oldURL : Js.js_string Js.t Js.readonly_prop
#
method newURL : Js.js_string Js.t Js.readonly_prop

HTML elements

#
class type nodeSelector =
#
method querySelector : Js.js_string Js.t -> element Js.t Js.opt Js.meth
#
method querySelectorAll : Js.js_string Js.t -> element Dom.nodeList Js.t Js.meth
#
class type tokenList =
#
method length : int Js.readonly_prop
#
method item : int -> Js.js_string Js.t Js.optdef Js.meth
#
method contains : Js.js_string Js.t -> bool Js.t Js.meth
#
method add : Js.js_string Js.t -> unit Js.meth
#
method remove : Js.js_string Js.t -> unit Js.meth
#
method toggle : Js.js_string Js.t -> bool Js.t Js.meth
#
method stringifier : Js.js_string Js.t Js.prop
#
class type element =
inherit Dom.element
inherit nodeSelector
#
method id : Js.js_string Js.t Js.prop
#
method title : Js.js_string Js.t Js.prop
#
method lang : Js.js_string Js.t Js.prop
#
method dir : Js.js_string Js.t Js.prop
#
method className : Js.js_string Js.t Js.prop
#
method classList : tokenList Js.t Js.readonly_prop
#
method style : cssStyleDeclaration Js.t Js.prop
#
method innerHTML : Js.js_string Js.t Js.prop
#
method outerHTML : Js.js_string Js.t Js.prop
#
method textContent : Js.js_string Js.t Js.opt Js.prop
#
method clientLeft : int Js.readonly_prop
#
method clientTop : int Js.readonly_prop
#
method clientWidth : int Js.readonly_prop
#
method clientHeight : int Js.readonly_prop
#
method offsetLeft : int Js.readonly_prop
#
method offsetTop : int Js.readonly_prop
#
method offsetParent : element Js.t Js.opt Js.readonly_prop
#
method offsetWidth : int Js.readonly_prop
#
method offsetHeight : int Js.readonly_prop
#
method scrollLeft : int Js.prop
#
method scrollTop : int Js.prop
#
method scrollWidth : int Js.prop
#
method scrollHeight : int Js.prop
#
method getClientRects : clientRectList Js.t Js.meth
#
method getBoundingClientRect : clientRect Js.t Js.meth
#
method scrollIntoView : bool Js.t -> unit Js.meth
inherit eventTarget

Properties common to all HTML elements

#
class type clientRect =
#
method top : float Js.readonly_prop
#
method right : float Js.readonly_prop
#
method bottom : float Js.readonly_prop
#
method left : float Js.readonly_prop
#
method width : float Js.optdef Js.readonly_prop
#
method height : float Js.optdef Js.readonly_prop

Rectangular box (used for element bounding boxes)

#
class type clientRectList =
#
method length : int Js.readonly_prop
#
method item : int -> clientRect Js.t Js.opt Js.meth
#
class type ['node] collection =
#
method length : int Js.readonly_prop
#
method item : int -> 'node Js.t Js.opt Js.meth
#
method namedItem : Js.js_string Js.t -> 'node Js.t Js.opt Js.meth

Collection of HTML elements

#
class type htmlElement = element
#
class type headElement =
inherit element
#
method profile : Js.js_string Js.t Js.prop
#
class type linkElement =
inherit element
#
method disabled : bool Js.t Js.prop
#
method charset : Js.js_string Js.t Js.prop
#
method href : Js.js_string Js.t Js.prop
#
method hreflang : Js.js_string Js.t Js.prop
#
method media : Js.js_string Js.t Js.prop
#
method rel : Js.js_string Js.t Js.prop
#
method rev : Js.js_string Js.t Js.prop
#
method target : Js.js_string Js.t Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
class type titleElement =
inherit element
#
method text : Js.js_string Js.t Js.prop
#
class type metaElement =
inherit element
#
method content : Js.js_string Js.t Js.prop
#
method httpEquiv : Js.js_string Js.t Js.prop
#
method name : Js.js_string Js.t Js.prop
#
method scheme : Js.js_string Js.t Js.prop
#
class type baseElement =
inherit element
#
method href : Js.js_string Js.t Js.prop
#
method target : Js.js_string Js.t Js.prop
#
class type styleElement =
inherit element
#
method disabled : bool Js.t Js.prop
#
method media : Js.js_string Js.t Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
class type bodyElement = element
#
class type formElement =
inherit element
#
method elements : element collection Js.t Js.readonly_prop
#
method length : int Js.readonly_prop
#
method acceptCharset : Js.js_string Js.t Js.prop
#
method action : Js.js_string Js.t Js.prop
#
method enctype : Js.js_string Js.t Js.prop
#
method _method : Js.js_string Js.t Js.prop
#
method target : Js.js_string Js.t Js.prop
#
method submit : unit Js.meth
#
method reset : unit Js.meth
#
method onsubmit : ('self Js.t, event Js.t) event_listener Js.writeonly_prop
#
class type optGroupElement =
inherit element
#
method disabled : bool Js.t Js.prop
#
method label : Js.js_string Js.t Js.prop
#
class type optionElement =
inherit optGroupElement
#
method defaultSelected : bool Js.t Js.prop
#
method text : Js.js_string Js.t Js.readonly_prop
#
method index : int Js.readonly_prop
#
method selected : bool Js.t Js.prop
#
method value : Js.js_string Js.t Js.prop
#
class type selectElement = ('self)
inherit element
#
method _type : Js.js_string Js.t Js.readonly_prop
#
method selectedIndex : int Js.prop
#
method value : Js.js_string Js.t Js.prop
#
method length : int Js.prop
#
method disabled : bool Js.t Js.prop
#
method multiple : bool Js.t Js.prop
#
method name : Js.js_string Js.t Js.readonly_prop
#
method size : int Js.prop
#
method tabIndex : int Js.prop
#
method add : optGroupElement Js.t -> optGroupElement Js.t Js.opt -> unit Js.meth
#
method remove : int -> unit Js.meth
#
method blur : unit Js.meth
#
method focus : unit Js.meth
#
method required : bool Js.t Js.writeonly_prop
#
method onchange : ('self Js.t, event Js.t) event_listener Js.prop
#
method oninput : ('self Js.t, event Js.t) event_listener Js.prop
#
class type inputElement = ('self)
inherit element
#
method defaultValue : Js.js_string Js.t Js.prop
#
method defaultChecked : Js.js_string Js.t Js.prop
#
method accept : Js.js_string Js.t Js.prop
#
method accessKey : Js.js_string Js.t Js.prop
#
method align : Js.js_string Js.t Js.prop
#
method alt : Js.js_string Js.t Js.prop
#
method checked : bool Js.t Js.prop
#
method disabled : bool Js.t Js.prop
#
method maxLength : int Js.prop
#
method name : Js.js_string Js.t Js.readonly_prop
#
method readOnly : bool Js.t Js.prop
#
method required : bool Js.t Js.writeonly_prop
#
method size : int Js.prop
#
method src : Js.js_string Js.t Js.prop
#
method tabIndex : int Js.prop
#
method _type : Js.js_string Js.t Js.readonly_prop
#
method useMap : Js.js_string Js.t Js.prop
#
method value : Js.js_string Js.t Js.prop
#
method blur : unit Js.meth
#
method focus : unit Js.meth
#
method select : unit Js.meth
#
method click : unit Js.meth
#
method placeholder : Js.js_string Js.t Js.writeonly_prop
#
method onselect : ('self Js.t, event Js.t) event_listener Js.prop
#
method onchange : ('self Js.t, event Js.t) event_listener Js.prop
#
method oninput : ('self Js.t, event Js.t) event_listener Js.prop
#
method onblur : ('self Js.t, event Js.t) event_listener Js.prop
#
method onfocus : ('self Js.t, event Js.t) event_listener Js.prop
#
class type textAreaElement = ('self)
inherit element
#
method defaultValue : Js.js_string Js.t Js.prop
#
method accessKey : Js.js_string Js.t Js.prop
#
method cols : int Js.prop
#
method disabled : bool Js.t Js.prop
#
method name : Js.js_string Js.t Js.readonly_prop
#
method readOnly : bool Js.t Js.prop
#
method rows : int Js.prop
#
method tabIndex : int Js.prop
#
method _type : Js.js_string Js.t Js.readonly_prop
#
method value : Js.js_string Js.t Js.prop
#
method blur : unit Js.meth
#
method focus : unit Js.meth
#
method select : unit Js.meth
#
method required : bool Js.t Js.writeonly_prop
#
method placeholder : Js.js_string Js.t Js.writeonly_prop
#
method onselect : ('self Js.t, event Js.t) event_listener Js.prop
#
method onchange : ('self Js.t, event Js.t) event_listener Js.prop
#
method oninput : ('self Js.t, event Js.t) event_listener Js.prop
#
method onblur : ('self Js.t, event Js.t) event_listener Js.prop
#
method onfocus : ('self Js.t, event Js.t) event_listener Js.prop
#
class type buttonElement =
inherit element
#
method accessKey : Js.js_string Js.t Js.prop
#
method disabled : bool Js.t Js.prop
#
method name : Js.js_string Js.t Js.readonly_prop
#
method tabIndex : int Js.prop
#
method _type : Js.js_string Js.t Js.readonly_prop
#
method value : Js.js_string Js.t Js.prop
#
class type labelElement =
inherit element
#
method accessKey : Js.js_string Js.t Js.prop
#
method htmlFor : Js.js_string Js.t Js.prop
#
class type fieldSetElement =
inherit element
#
class type legendElement =
inherit element
#
method accessKey : Js.js_string Js.t Js.prop
#
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 =
inherit element
#
method cite : Js.js_string Js.t Js.prop
#
class type preElement = element
#
class type brElement = element
#
class type hrElement = element
#
class type modElement =
inherit element
#
method cite : Js.js_string Js.t Js.prop
#
method dateTime : Js.js_string Js.t Js.prop
#
class type anchorElement =
inherit element
#
method accessKey : Js.js_string Js.t Js.prop
#
method charset : Js.js_string Js.t Js.prop
#
method coords : Js.js_string Js.t Js.prop
#
method href : Js.js_string Js.t Js.prop
#
method hreflang : Js.js_string Js.t Js.prop
#
method name : Js.js_string Js.t Js.prop
#
method rel : Js.js_string Js.t Js.prop
#
method rev : Js.js_string Js.t Js.prop
#
method shape : Js.js_string Js.t Js.prop
#
method tabIndex : int Js.prop
#
method target : Js.js_string Js.t Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
method blur : unit Js.meth
#
method focus : unit Js.meth
#
class type imageElement = ('self)
inherit element
#
method alt : Js.js_string Js.t Js.prop
#
method src : Js.js_string Js.t Js.prop
#
method useMap : Js.js_string Js.t Js.prop
#
method isMap : bool Js.t Js.prop
#
method width : int Js.prop
#
method height : int Js.prop
#
method naturalWidth : int Js.optdef Js.readonly_prop
#
method naturalHeight : int Js.optdef Js.readonly_prop
#
method complete : bool Js.t Js.prop
#
method onload : ('self Js.t, event Js.t) event_listener Js.prop
#
method onerror : ('self Js.t, event Js.t) event_listener Js.prop
#
method onabort : ('self Js.t, event Js.t) event_listener Js.prop
#
class type objectElement =
inherit element
#
method code : Js.js_string Js.t Js.prop
#
method archive : Js.js_string Js.t Js.prop
#
method codeBase : Js.js_string Js.t Js.prop
#
method codeType : Js.js_string Js.t Js.prop
#
method data : Js.js_string Js.t Js.prop
#
method declare : bool Js.t Js.prop
#
method height : Js.js_string Js.t Js.prop
#
method name : Js.js_string Js.t Js.prop
#
method standby : Js.js_string Js.t Js.prop
#
method tabIndex : int Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
method useMap : Js.js_string Js.t Js.prop
#
method width : Js.js_string Js.t Js.prop
#
#
class type paramElement =
inherit element
#
method name : Js.js_string Js.t Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
method value : Js.js_string Js.t Js.prop
#
method valueType : Js.js_string Js.t Js.prop
#
class type areaElement =
inherit element
#
method accessKey : Js.js_string Js.t Js.prop
#
method alt : Js.js_string Js.t Js.prop
#
method coords : Js.js_string Js.t Js.prop
#
method href : Js.js_string Js.t Js.prop
#
method noHref : bool Js.t Js.prop
#
method shape : Js.js_string Js.t Js.prop
#
method tabIndex : int Js.prop
#
method target : Js.js_string Js.t Js.prop
#
class type mapElement =
inherit element
#
method name : Js.js_string Js.t Js.prop
#
class type scriptElement =
inherit element
#
method text : Js.js_string Js.t Js.prop
#
method charset : Js.js_string Js.t Js.prop
#
method defer : bool Js.t Js.prop
#
method src : Js.js_string Js.t Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
method async : bool Js.t Js.prop
#
class type embedElement =
inherit element
#
method src : Js.js_string Js.t Js.prop
#
method height : Js.js_string Js.t Js.prop
#
method width : Js.js_string Js.t Js.prop
#
method _type : Js.js_string Js.t Js.prop
#
class type tableCellElement =
inherit element
#
method cellIndex : int Js.readonly_prop
#
method abbr : Js.js_string Js.t Js.prop
#
method align : Js.js_string Js.t Js.prop
#
method axis : Js.js_string Js.t Js.prop
#
method ch : Js.js_string Js.t Js.prop
#
method chOff : Js.js_string Js.t Js.prop
#
method colSpan : int Js.prop
#
method headers : Js.js_string Js.t Js.prop
#
method rowSpan : int Js.prop
#
method scope : Js.js_string Js.t Js.prop
#
method vAlign : Js.js_string Js.t Js.prop
#
class type tableRowElement =
inherit element
#
method rowIndex : int Js.readonly_prop
#
method sectionRowIndex : int Js.readonly_prop
#
method align : Js.js_string Js.t Js.prop
#
method ch : Js.js_string Js.t Js.prop
#
method chOff : Js.js_string Js.t Js.prop
#
method vAlign : Js.js_string Js.t Js.prop
#
method insertCell : int -> tableCellElement Js.t Js.meth
#
method deleteCell : int -> unit Js.meth
#
class type tableColElement =
inherit element
#
method align : Js.js_string Js.t Js.prop
#
method ch : Js.js_string Js.t Js.prop
#
method chOff : Js.js_string Js.t Js.prop
#
method span : int Js.prop
#
method vAlign : Js.js_string Js.t Js.prop
#
method width : Js.js_string Js.t Js.prop
#
class type tableSectionElement =
inherit element
#
method align : Js.js_string Js.t Js.prop
#
method ch : Js.js_string Js.t Js.prop
#
method chOff : Js.js_string Js.t Js.prop
#
method vAlign : Js.js_string Js.t Js.prop
#
method insertRow : int -> tableRowElement Js.t Js.meth
#
method deleteRow : int -> unit Js.meth
#
class type tableCaptionElement = element
#
class type tableElement =
inherit element
#
method caption : tableCaptionElement Js.t Js.prop
#
method tHead : tableSectionElement Js.t Js.prop
#
method tFood : tableSectionElement Js.t Js.prop
#
method align : Js.js_string Js.t Js.prop
#
method border : Js.js_string Js.t Js.prop
#
method cellPadding : Js.js_string Js.t Js.prop
#
method cellSpacing : Js.js_string Js.t Js.prop
#
method frame : Js.js_string Js.t Js.prop
#
method rules : Js.js_string Js.t Js.prop
#
method summary : Js.js_string Js.t Js.prop
#
method width : Js.js_string Js.t Js.prop
#
method createTHead : tableSectionElement Js.t Js.meth
#
method deleteTHead : unit Js.meth
#
method createTFoot : tableSectionElement Js.t Js.meth
#
method deleteTFoot : unit Js.meth
#
method createCaption : tableCaptionElement Js.t Js.meth
#
method deleteCaption : unit Js.meth
#
method insertRow : int -> tableRowElement Js.t Js.meth
#
method deleteRow : int -> unit Js.meth
#
class type timeRanges =
#
method length : int Js.readonly_prop
#
method start : int -> float Js.meth
#
method end_ : int -> float Js.meth
#
type networkState =
# | NETWORK_EMPTY
# | NETWORK_IDLE
# | NETWORK_LOADING
# | NETWORK_NO_SOURCE
#
type readyState =
# | HAVE_NOTHING
# | HAVE_METADATA
# | HAVE_CURRENT_DATA
# | HAVE_FUTURE_DATA
# | HAVE_ENOUGH_DATA
#
class type mediaElement =
inherit element
#
method canPlayType : Js.js_string Js.t -> Js.js_string Js.t Js.meth
#
method load : unit Js.meth
#
method play : unit Js.meth
#
method pause : unit Js.meth
#
method autoplay : bool Js.t Js.prop
#
method buffered : timeRanges Js.t Js.readonly_prop
#
method controls : bool Js.t Js.prop
#
method currentSrc : Js.js_string Js.t Js.readonly_prop
#
method currentTime : float Js.prop
#
method duration : float Js.readonly_prop
#
method ended : bool Js.t Js.readonly_prop
#
method loop : bool Js.t Js.prop
#
method mediagroup : Js.js_string Js.t Js.prop
#
method muted : bool Js.t Js.prop
#
method networkState_int : int Js.readonly_prop
#
method networkState : networkState Js.readonly_prop
#
method paused : bool Js.t Js.readonly_prop
#
method playbackRate : float Js.prop
#
method played : timeRanges Js.t Js.readonly_prop
#
method preload : Js.js_string Js.t Js.prop
#
method readyState_int : int Js.readonly_prop
#
method readyState : readyState Js.readonly_prop
#
method seekable : timeRanges Js.t Js.readonly_prop
#
method seeking : bool Js.t Js.readonly_prop
#
method src : Js.js_string Js.t Js.prop
#
method volume : float Js.prop
#
class type audioElement =
inherit mediaElement
#
class type videoElement =
inherit mediaElement

Canvas object

#
type context
#
val _2d_ : context
#
type canvasPattern
#
class type canvasElement =
inherit element
#
method width : int Js.prop
#
method height : int Js.prop
#
method toDataURL : Js.js_string Js.t Js.meth
#
method getContext : context -> canvasRenderingContext2D Js.t Js.meth
#
class type canvasRenderingContext2D =
#
method canvas : canvasElement Js.t Js.readonly_prop
#
method save : unit Js.meth
#
method restore : unit Js.meth
#
method scale : float -> float -> unit Js.meth
#
method rotate : float -> unit Js.meth
#
method translate : float -> float -> unit Js.meth
#
method transform : float -> float -> float -> float -> float -> float -> unit Js.meth
#
method setTransform : float -> float -> float -> float -> float -> float -> unit Js.meth
#
method globalAlpha : float Js.prop
#
method globalCompositeOperation : Js.js_string Js.t Js.prop
#
method strokeStyle : Js.js_string Js.t Js.writeonly_prop
#
method strokeStyle_gradient : canvasGradient Js.t Js.writeonly_prop
#
method strokeStyle_pattern : canvasPattern Js.t Js.writeonly_prop
#
method fillStyle : Js.js_string Js.t Js.writeonly_prop
#
method fillStyle_gradient : canvasGradient Js.t Js.writeonly_prop
#
method fillStyle_pattern : canvasPattern Js.t Js.writeonly_prop
#
method createLinearGradient : float -> float -> float -> float -> canvasGradient Js.t Js.meth
#
method createRadialGradient : float -> float -> float -> float -> float -> float -> canvasGradient Js.t Js.meth
#
method createPattern : imageElement Js.t -> Js.js_string Js.t -> canvasPattern Js.t Js.meth
#
method createPattern_fromCanvas : canvasElement Js.t -> Js.js_string Js.t -> canvasPattern Js.t Js.meth
#
method createPattern_fromVideo : videoElement Js.t -> Js.js_string Js.t -> canvasPattern Js.t Js.meth
#
method lineWidth : float Js.prop
#
method lineCap : Js.js_string Js.t Js.prop
#
method lineJoin : Js.js_string Js.t Js.prop
#
method miterLimit : float Js.prop
#
method shadowOffsetX : float Js.prop
#
method shadowOffsetY : float Js.prop
#
method shadowBlur : float Js.prop
#
method shadowColor : Js.js_string Js.t Js.prop
#
method clearRect : float -> float -> float -> float -> unit Js.meth
#
method fillRect : float -> float -> float -> float -> unit Js.meth
#
method strokeRect : float -> float -> float -> float -> unit Js.meth
#
method beginPath : unit Js.meth
#
method closePath : unit Js.meth
#
method moveTo : float -> float -> unit Js.meth
#
method lineTo : float -> float -> unit Js.meth
#
method quadraticCurveTo : float -> float -> float -> float -> unit Js.meth
#
method bezierCurveTo : float -> float -> float -> float -> float -> float -> unit Js.meth
#
method arcTo : float -> float -> float -> float -> float -> unit Js.meth
#
method rect : float -> float -> float -> float -> unit Js.meth
#
method arc : float -> float -> float -> float -> float -> bool Js.t -> unit Js.meth
#
method fill : unit Js.meth
#
method stroke : unit Js.meth
#
method clip : unit Js.meth
#
method isPointInPath : float -> float -> bool Js.t Js.meth
#
method drawFocusRing : element Js.t -> float -> float -> bool Js.t -> bool Js.t Js.meth
#
method font : Js.js_string Js.t Js.prop
#
method textAlign : Js.js_string Js.t Js.prop
#
method textBaseline : Js.js_string Js.t Js.prop
#
method fillText : Js.js_string Js.t -> float -> float -> unit Js.meth
#
method fillText_withWidth : Js.js_string Js.t -> float -> float -> float -> unit Js.meth
#
method strokeText : Js.js_string Js.t -> float -> float -> unit Js.meth
#
method strokeText_withWidth : Js.js_string Js.t -> float -> float -> float -> unit Js.meth
#
method measureText : Js.js_string Js.t -> textMetrics Js.t Js.meth
#
method drawImage : imageElement Js.t -> float -> float -> unit Js.meth
#
method drawImage_withSize : imageElement Js.t -> float -> float -> float -> float -> unit Js.meth
#
method drawImage_full : imageElement Js.t -> float -> float -> float -> float -> float -> float -> float -> float -> unit Js.meth
#
method drawImage_fromCanvas : canvasElement Js.t -> float -> float -> unit Js.meth
#
method drawImage_fromCanvasWithSize : canvasElement Js.t -> float -> float -> float -> float -> unit Js.meth
#
method drawImage_fullFromCanvas : canvasElement Js.t -> float -> float -> float -> float -> float -> float -> float -> float -> unit Js.meth
#
method drawImage_fromVideoWithVideo : videoElement Js.t -> float -> float -> unit Js.meth
#
method drawImage_fromVideoWithSize : videoElement Js.t -> float -> float -> float -> float -> unit Js.meth
#
method drawImage_fullFromVideo : videoElement Js.t -> float -> float -> float -> float -> float -> float -> float -> float -> unit Js.meth
#
method createImageData : int -> int -> imageData Js.t Js.meth
#
method getImageData : float -> float -> float -> float -> imageData Js.t Js.meth
#
method putImageData : imageData Js.t -> float -> float -> unit Js.meth
#
class type canvasGradient =
#
method addColorStop : float -> Js.js_string Js.t -> unit Js.meth
#
class type textMetrics =
#
method width : float Js.readonly_prop
#
class type imageData =
#
method width : int Js.readonly_prop
#
method height : int Js.readonly_prop
#
class type canvasPixelArray =
#
method length : int Js.readonly_prop
#
external pixel_get : canvasPixelArray Js.t -> int -> int = "caml_js_get"
#
external pixel_set : canvasPixelArray Js.t -> int -> int -> unit = "caml_js_set"
#
class type range =
#
method collapsed : bool Js.t Js.readonly_prop
#
method startOffset : int Js.readonly_prop
#
method endOffset : int Js.readonly_prop
#
method startContainer : Dom.node Js.t Js.readonly_prop
#
method endContainer : Dom.node Js.t Js.readonly_prop
#
method setStart : Dom.node Js.t -> int -> unit Js.meth
#
method setEnd : Dom.node Js.t -> int -> unit Js.meth
#
method setStartBefore : Dom.node Js.t -> unit Js.meth
#
method setEndBefore : Dom.node Js.t -> unit Js.meth
#
method setStartAfter : Dom.node Js.t -> unit Js.meth
#
method setEndAfter : Dom.node Js.t -> unit Js.meth
#
method selectNode : Dom.node Js.t -> unit Js.meth
#
method selectNodeContents : Dom.node Js.t -> unit Js.meth
#
method collapse : bool Js.t -> unit Js.meth
#
method cloneContents : Dom.documentFragment Js.t Js.meth
#
method extactContents : Dom.documentFragment Js.t Js.meth
#
method deleteContents : unit Js.meth
#
method insertNode : Dom.node Js.t -> unit Js.meth
#
method surroundContents : Dom.node Js.t -> unit Js.meth
#
method cloneRange : range Js.t Js.meth
#
method toString : Js.js_string Js.t Js.meth

Object representing a range *

#
class type selection =
#
method anchorNode : Dom.node Js.t Js.readonly_prop
#
method anchorOffset : int Js.readonly_prop
#
method focusNode : Dom.node Js.t Js.readonly_prop
#
method focusOffset : int Js.readonly_prop
#
method isCollapsed : bool Js.t Js.readonly_prop
#
method rangeCount : int Js.readonly_prop
#
method getRangeAt : int -> range Js.t Js.meth
#
method collapse : bool Js.t -> unit Js.meth
#
method extend : Dom.node Js.t -> int -> unit Js.meth
#
method modify : Js.js_string Js.t -> Js.js_string Js.t -> Js.js_string Js.t -> unit Js.meth
#
method collapseToStart : unit Js.meth
#
method collapseToEnd : unit Js.meth
#
method selectAllChildren : Dom.node Js.t -> unit Js.meth
#
method addRange : range Js.t -> unit Js.meth
#
method removeRange : range Js.t -> unit Js.meth
#
method removeAllRanges : unit Js.meth
#
method deleteFromDocument : unit Js.meth
#
method containsNode : Dom.node Js.t -> bool Js.t -> bool Js.t Js.meth
#
method toString : Js.js_string Js.t Js.meth

Information on current selection

Document objects

#
class type document =
inherit [element] Dom.document
inherit nodeSelector
inherit eventTarget
#
method title : Js.js_string Js.t Js.prop
#
method referrer : Js.js_string Js.t Js.readonly_prop
#
method domain : Js.js_string Js.t Js.prop
#
method _URL : Js.js_string Js.t Js.readonly_prop
#
method head : headElement Js.t Js.prop
#
method body : bodyElement Js.t Js.prop
#
method documentElement : htmlElement Js.t Js.readonly_prop
#
method applets : element collection Js.t Js.readonly_prop
#
method anchors : element collection Js.t Js.readonly_prop
#
method cookie : Js.js_string Js.t Js.prop
#
method designMode : Js.js_string Js.t Js.prop
#
method open_ : unit Js.meth
#
method close : unit Js.meth
#
method write : Js.js_string Js.t -> unit Js.meth
#
method execCommand : Js.js_string Js.t -> bool Js.t -> Js.js_string Js.t Js.opt -> unit Js.meth
#
method createRange : range Js.t Js.meth
#
method readyState : Js.js_string Js.t Js.readonly_prop
inherit eventTarget
#
val document : document Js.t

The current document

#
val getElementById : string -> element Js.t

getElementById id returns the element with the id id in the current document. It raises Not_found if there are no such element

Window objects

#
class type location =
#
method href : Js.js_string Js.t Js.prop
#
method protocol : Js.js_string Js.t Js.prop
#
method host : Js.js_string Js.t Js.prop
#
method hostname : Js.js_string Js.t Js.prop
#
method port : Js.js_string Js.t Js.prop
#
method pathname : Js.js_string Js.t Js.prop
#
method search : Js.js_string Js.t Js.prop
#
method hash : Js.js_string Js.t Js.prop
#
method assign : Js.js_string Js.t -> unit Js.meth
#
method replace : Js.js_string Js.t -> unit Js.meth
#
method reload : unit Js.meth

Location information

#
class type history =
#
method length : int Js.readonly_prop
#
method state : Js.Unsafe.any Js.readonly_prop
#
method go : int Js.opt -> unit Js.meth
#
method back : unit Js.meth
#
method forward : unit Js.meth
#
method pushState : 'a . 'a -> Js.js_string Js.t -> Js.js_string Js.t Js.opt -> unit Js.meth
#
method replaceState : 'a . 'a -> Js.js_string Js.t -> Js.js_string Js.t Js.opt -> unit Js.meth

Browser history information

#
class type undoManager =

Undo manager

#
class type navigator =
#
method appCodeName : Js.js_string Js.t Js.readonly_prop
#
method appName : Js.js_string Js.t Js.readonly_prop
#
method appVersion : Js.js_string Js.t Js.readonly_prop
#
method cookieEnabled : bool Js.t Js.readonly_prop
#
method onLine : bool Js.t Js.readonly_prop
#
method platform : Js.js_string Js.t Js.readonly_prop
#
method userAgent : Js.js_string Js.t Js.readonly_prop
#
method language : Js.js_string Js.t Js.optdef Js.readonly_prop
#
method userLanguage : Js.js_string Js.t Js.optdef Js.readonly_prop

Navigator information

#
class type screen =
#
method width : int Js.readonly_prop
#
method height : int Js.readonly_prop
#
method availWidth : int Js.readonly_prop
#
method availHeight : int Js.readonly_prop
#
class type applicationCache =
#
method status : int Js.readonly_prop
#
method update : unit Js.meth
#
method abort : unit Js.meth
#
method swapCache : unit Js.meth
#
method onchecking : (applicationCache Js.t, event Js.t) event_listener Js.prop
#
method onnoupdate : (applicationCache Js.t, event Js.t) event_listener Js.prop
#
method ondownloading : (applicationCache Js.t, event Js.t) event_listener Js.prop
#
method onprogress : (applicationCache Js.t, event Js.t) event_listener Js.prop
#
method onupdateready : (applicationCache Js.t, event Js.t) event_listener Js.prop
#
#
method onobsolete : (applicationCache Js.t, event Js.t) event_listener Js.prop
inherit eventTarget
#
type interval_id
#
type timeout_id
#
class type window =
inherit eventTarget
#
method document : document Js.t Js.readonly_prop
#
method applicationCache : applicationCache Js.t Js.readonly_prop
#
method name : Js.js_string Js.t Js.prop
#
method location : location Js.t Js.readonly_prop
#
method history : history Js.t Js.readonly_prop
#
method undoManager : undoManager Js.t Js.readonly_prop
#
method navigator : navigator Js.t Js.readonly_prop
#
method getSelection : selection Js.t Js.meth
#
method close : unit Js.meth
#
method closed : bool Js.t Js.readonly_prop
#
method stop : unit Js.meth
#
method focus : unit Js.meth
#
method blur : unit Js.meth
#
method scroll : int -> int -> unit Js.meth
#
method sessionStorage : storage Js.t Js.optdef Js.readonly_prop
#
method localStorage : storage Js.t Js.optdef Js.readonly_prop
#
method top : window Js.t Js.readonly_prop
#
method parent : window Js.t Js.readonly_prop
#
method frameElement : element Js.t Js.opt Js.readonly_prop
#
method open_ : Js.js_string Js.t -> Js.js_string Js.t -> Js.js_string Js.t Js.opt -> window Js.t Js.meth
#
method alert : Js.js_string Js.t -> unit Js.meth
#
method confirm : Js.js_string Js.t -> bool Js.t Js.meth
#
method prompt : Js.js_string Js.t -> Js.js_string Js.t -> Js.js_string Js.t Js.opt Js.meth
#
method print : unit Js.meth
#
method setInterval : (unit -> unit) Js.callback -> float -> interval_id Js.meth
#
method clearInterval : interval_id -> unit Js.meth
#
method setTimeout : (unit -> unit) Js.callback -> float -> timeout_id Js.meth
#
method clearTimeout : timeout_id -> unit Js.meth
#
method screen : screen Js.t Js.readonly_prop
#
method innerWidth : int Js.optdef Js.readonly_prop
#
method innerHeight : int Js.optdef Js.readonly_prop
#
method outerWidth : int Js.optdef Js.readonly_prop
#
method outerHeight : int Js.optdef Js.readonly_prop
#
method onload : (window Js.t, event Js.t) event_listener Js.prop
#
method onunload : (window Js.t, event Js.t) event_listener Js.prop
#
method onbeforeunload : (window Js.t, event Js.t) event_listener Js.prop
#
method onblur : (window Js.t, event Js.t) event_listener Js.prop
#
method onfocus : (window Js.t, event Js.t) event_listener Js.prop
#
method onresize : (window Js.t, event Js.t) event_listener Js.prop
#
method onorientationchange : (window Js.t, event Js.t) event_listener Js.prop
#
method onpopstate : (window Js.t, popStateEvent Js.t) event_listener Js.prop
#
method onhashchange : (window Js.t, hashChangeEvent Js.t) event_listener Js.prop
#
#
method onoffline : (window Js.t, event Js.t) event_listener Js.writeonly_prop

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 =
inherit element
#
method cols : Js.js_string Js.t Js.prop
#
method rows : Js.js_string Js.t Js.prop
#
class type frameElement =
inherit element
#
method frameBorder : Js.js_string Js.t Js.prop
#
method longDesc : Js.js_string Js.t Js.prop
#
method marginHeight : Js.js_string Js.t Js.prop
#
method marginWidth : Js.js_string Js.t Js.prop
#
method name : Js.js_string Js.t Js.prop
#
method noResize : bool Js.t Js.prop
#
method scrolling : Js.js_string Js.t Js.prop
#
method src : Js.js_string Js.t Js.prop
#
method contentDocument : document Js.t Js.opt Js.readonly_prop
#
class type iFrameElement =
inherit element
#
method frameBorder : Js.js_string Js.t Js.prop
#
method height : Js.js_string Js.t Js.prop
#
method width : Js.js_string Js.t Js.prop
#
method longDesc : Js.js_string Js.t Js.prop
#
method marginHeight : Js.js_string Js.t Js.prop
#
method marginWidth : Js.js_string Js.t Js.prop
#
method name : Js.js_string Js.t Js.prop
#
method scrolling : Js.js_string Js.t Js.prop
#
method src : Js.js_string Js.t Js.prop
#
method contentDocument : document Js.t Js.opt Js.readonly_prop
#
method contentWindow : window Js.t Js.readonly_prop

Event handlers

#
val no_handler : ('a, 'b) event_listener

see Dom.no_handler

#
val handler : ((event Js.t as 'b) -> bool Js.t) -> ('a, 'b) event_listener

see Dom.handler

#
val full_handler : ('a -> (event Js.t as 'b) -> bool Js.t) -> ('a, 'b) 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

Event types: mousedown, keypress, ...

#
type 'a typ = 'a Dom.Event.typ
#
val click : mouseEvent Js.t typ
#
val dblclick : mouseEvent Js.t typ
#
val mousedown : mouseEvent Js.t typ
#
val mouseup : mouseEvent Js.t typ
#
val mouseover : mouseEvent Js.t typ
#
val mousemove : mouseEvent Js.t typ
#
val mouseout : mouseEvent Js.t typ
#
val keypress : keyboardEvent Js.t typ
#
val keydown : keyboardEvent Js.t typ
#
val keyup : keyboardEvent Js.t typ
#
val mousewheel : mousewheelEvent Js.t typ
#
val _DOMMouseScroll : mouseScrollEvent Js.t typ
#
val touchstart : touchEvent Js.t typ
#
val touchmove : touchEvent Js.t typ
#
val touchend : touchEvent Js.t typ
#
val touchcancel : touchEvent Js.t typ
#
val dragstart : dragEvent Js.t typ
#
val dragend : dragEvent Js.t typ
#
val dragenter : dragEvent Js.t typ
#
val dragover : dragEvent Js.t typ
#
val dragleave : dragEvent Js.t typ
#
val drag : dragEvent Js.t typ
#
val drop : dragEvent Js.t typ
#
val hashchange : hashChangeEvent Js.t typ
#
val change : event Js.t typ
#
val input : event Js.t typ
#
val timeupdate : event Js.t typ
#
val submit : event Js.t typ
#
val scroll : event Js.t typ
#
val focus : event Js.t typ
#
val blur : event Js.t typ
#
val load : event Js.t typ
#
val unload : event Js.t typ
#
val beforeunload : event Js.t typ
#
val resize : event Js.t typ
#
val orientationchange : event Js.t typ
#
val popstate : event Js.t typ
#
val hashchange : event Js.t typ
#
val error : event Js.t typ
#
val abort : event Js.t typ
#
val select : event Js.t typ
#
val online : event Js.t typ
#
val offline : event Js.t typ
#
val checking : event Js.t typ
#
val error : event Js.t typ
#
val noupdate : event Js.t typ
#
val downloading : event Js.t typ
#
val progress : event Js.t typ
#
val updateready : event Js.t typ
#
val cached : event Js.t typ
#
val obsolete : event Js.t typ
#
val domContentLoaded : event Js.t typ
#
val make : string -> 'a typ
end
#
type event_listener_id = Dom.event_listener_id
#
val addEventListener : (eventTarget Js.t as 'a) -> 'b Event.typ -> ('a, '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 as 'a) -> (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 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 createEmbed : document Js.t -> embedElement 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
#
val createAudio : document Js.t -> audioElement Js.t
#
val createVideo : document Js.t -> videoElement 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
# | Audio of audioElement 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
# | Embed of embedElement 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
# | 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
# | Video of videoElement 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

HTMLElement

#
val element : Dom.#node Js.t -> element Js.t Js.opt
#
val area : element Js.t -> areaElement Js.t Js.opt
#
val audio : element Js.t -> audioElement Js.t Js.opt
#
val base : element Js.t -> baseElement Js.t Js.opt
#
val blockquote : element Js.t -> quoteElement Js.t Js.opt
#
val body : element Js.t -> bodyElement Js.t Js.opt
#
val br : element Js.t -> brElement Js.t Js.opt
#
val button : element Js.t -> buttonElement Js.t Js.opt
#
val canvas : element Js.t -> canvasElement Js.t Js.opt
#
val caption : element Js.t -> tableCaptionElement Js.t Js.opt
#
val col : element Js.t -> tableColElement Js.t Js.opt
#
val colgroup : element Js.t -> tableColElement Js.t Js.opt
#
val del : element Js.t -> modElement Js.t Js.opt
#
val div : element Js.t -> divElement Js.t Js.opt
#
val embed : element Js.t -> embedElement Js.t Js.opt
#
val dl : element Js.t -> dListElement Js.t Js.opt
#
val fieldset : element Js.t -> fieldSetElement Js.t Js.opt
#
val form : element Js.t -> formElement Js.t Js.opt
#
val frameset : element Js.t -> frameSetElement Js.t Js.opt
#
val frame : element Js.t -> frameElement Js.t Js.opt
#
#
#
#
#
#
#
val head : element Js.t -> headElement Js.t Js.opt
#
val hr : element Js.t -> hrElement Js.t Js.opt
#
val html : element Js.t -> htmlElement Js.t Js.opt
#
val iframe : element Js.t -> iFrameElement Js.t Js.opt
#
val img : element Js.t -> imageElement Js.t Js.opt
#
val input : element Js.t -> inputElement Js.t Js.opt
#
val ins : element Js.t -> modElement Js.t Js.opt
#
val label : element Js.t -> labelElement Js.t Js.opt
#
val legend : element Js.t -> legendElement Js.t Js.opt
#
val li : element Js.t -> liElement Js.t Js.opt
#
val map : element Js.t -> mapElement Js.t Js.opt
#
val meta : element Js.t -> metaElement Js.t Js.opt
#
val _object : element Js.t -> objectElement Js.t Js.opt
#
val ol : element Js.t -> oListElement Js.t Js.opt
#
val optgroup : element Js.t -> optGroupElement Js.t Js.opt
#
val option : element Js.t -> optionElement Js.t Js.opt
#
val p : element Js.t -> paramElement Js.t Js.opt
#
val param : element Js.t -> paramElement Js.t Js.opt
#
val pre : element Js.t -> preElement Js.t Js.opt
#
val q : element Js.t -> quoteElement Js.t Js.opt
#
val script : element Js.t -> scriptElement Js.t Js.opt
#
val select : element Js.t -> selectElement Js.t Js.opt
#
val style : element Js.t -> styleElement Js.t Js.opt
#
val table : element Js.t -> tableElement Js.t Js.opt
#
val textarea : element Js.t -> textAreaElement Js.t Js.opt
#
val title : element Js.t -> titleElement Js.t Js.opt
#
val ul : element Js.t -> uListElement Js.t Js.opt
#
val video : element Js.t -> videoElement Js.t Js.opt

Event

#
val mouseEvent : event Js.t -> mouseEvent Js.t Js.opt
#
val keyboardEvent : event Js.t -> keyboardEvent Js.t Js.opt
#
val wheelEvent : event Js.t -> mousewheelEvent Js.t Js.opt
#
val mouseScrollEvent : event Js.t -> mouseScrollEvent Js.t Js.opt
#
val popStateEvent : event Js.t -> popStateEvent Js.t Js.opt
end
end