我想在有人修改可编辑表格单元格时更新模型。
onInput函数在input
元素上似乎运行良好,但是在带有td
的{{1}}元素上,永远不会调用处理函数。
为什么?
那我应该如何检测可编辑表格单元中的内容更改?
请参见以下代码中的第74和78行 (我只是以Elm指南中的“按钮”示例为例,并在其中添加了一些东西,使它们变得最小但可运行):
contenteditable="true"
onInput
将从target.value
获取字符串,该字符串对于contenteditable
input
事件不存在。
例如,您可能想抢innerText
:
onContentEditableInput : (String -> msg) -> Attribute msg
onContentEditableInput tagger =
Html.Events.stopPropagationOn "input"
(Json.map (\x -> ( x,True )) (Json.map tagger innerText))
innerText : Json.Decoder String
innerText =
Json.at ["target","innerText"] Json.string