Js_of_ocaml.MutationObserverMutationObserver API
A code example:
if (MutationObserver.is_supported()) then
  let doc = Dom_html.document in
  let target =
    Js.Opt.get (doc##getElementById (Js.string "observed"))
      (fun () -> assert false)
  in
  let node = (target :> Dom.node Js.t) in
  let f records observer =
    Firebug.console##debug records ;
    Firebug.console##debug observer
  in
  MutationObserver.observe ~node ~f
    ~attributes:true ~child_list:true ~character_data:true
    ()class type  mutationObserverInit = object ... endclass type  mutationRecord = object ... endclass type  mutationObserver = object ... endval empty_mutation_observer_init : unit -> mutationObserverInit Js.tval mutationObserver : ((mutationRecord Js.t Js.js_array Js.t -> mutationObserver Js.t -> unit) Js.callback -> mutationObserver Js.t) Js.constrval observe : node:Js_of_ocaml__.Dom.#node Js.t -> f:(mutationRecord Js.t Js.js_array Js.t -> mutationObserver Js.t -> unit) -> ?child_list:bool ->
?attributes:bool -> ?character_data:bool -> ?subtree:bool ->
?attribute_old_value:bool -> ?character_data_old_value:bool ->
?attribute_filter:Js.js_string Js.t list -> unit -> mutationObserver Js.tHelper to create a new observer and connect it to a node