contenteditable
でEnterキーを押したときにChromeがdiv
を追加しているようです。私はbr
を常に使用したいと思います。 SO(とinterwebs)にはたくさんのjsの例がありますが、私はElmには新しく、これを行う方法に関する多くの情報はありません。Elm:enter pressでChromeのcontenteditable divにbrタグを追加するにはどうすればよいですか?
私はgithubの上でこのコードに遭遇しています
onKeyPress : (Int -> msg) -> Attribute msg
onKeyPress tagger =
on "keypress" (Decode.map tagger keyCode)
が、関数を使用する方法grokkingておりません。メッセージの種類は次のようになり
view : Model -> Html Message
view model = div [ contentEditable True, onKeyPress SomeMessage] []
:
type Message
= None
| SomeMessage Int
、更新がのようになります。入力フィールドを持つ例があります
update : Message -> Model -> (Model, Cmd Message)
update message model =
case message of
SomeMessage (Ok isThisTheKeyCode) ->
(model, Cmd.none)
SomeMessage (Err err) ->
(model, Cmd.none)
私の見解は次のようになりますしかし、私はそれらが異なっていると思う。
正しい方向に私を指差したり、ギャップを埋めるようなアドバイスをいただければ幸いです。ありがとうございました
更新:明らかに、私はこれがJavaScriptでどのように行われたかを見ることができます。私はElmの実装のための助けや指示を求めています。ありがとうございます
更新2:私は正しい方向にいると思います。私の実装は実際には、内部に別のcontentEditableを持つdivを持っていました。内部のdivは私が更新するために得ようとしていたものでした。
div [ contentEditable True][
div [contentEditable True]
[]
]
私は、内側のcontentEditableが今まだあなたがby referring thisによってデフォルト段落の区切りを変更することができますどのようにクローム
JSにはたくさんの例があります。私はElmの実装についての助けを求めています。また、この機能はユーザーに面しています。ユーザーに「Shift + Enter」(imo)を求めるのは不合理です。 –