I've tried a naive implementation in Elm but, for some reason, it doesn't work (events are not fired for divs that have content editable)
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.App exposing (beginnerProgram)
import Html.Events exposing (on)
import Json.Encode as JE
import Json.Decode as JD exposing ((:=))
main =
beginnerProgram { model = "", view = view, update = update }
onContent tagger =
on "input" (JD.map tagger ("innerHTML" := JD.string))
view model =
div []
[ div [property "innerHTML" (JE.string model), onContent OnChange, contenteditable True][]
]
type Msg = OnChange String
update msg model =
case (Debug.log "msg:" msg) of
OnChange str -> str