subscriptions : Model -> Sub Action
subscriptions model =
let
modalKeyUp m n = case n of
13 -> Modal m Accept
27 -> Modal m Close
_ -> Modal m NoModalAction
modalSub = case model.showModal of
NoModal -> Sub.none
m -> Keyboard.ups (modalKeyUp m)
in
modalSub
上下文:我正在尝试开发一个textarea编辑器(类似于此页面中的那个,它允许您通过模式窗口插入链接和图像)。
问题::如果在任何模态窗口中的任何一个输入被突出显示时单击“ Enter”,该配方将提交。如果碰巧是onClick
事件处理程序(使用onWithOptions
),我将知道如何解决。但是我不知道在使用订阅时该如何解决。
答案 0 :(得分:1)
E.onWithOptions
"keydown"
{stopPropagation = True, preventDefault = True}
(succeed NoOp)
这可防止在将隐式表单添加到输入时进行提交(必须为“ keydown”,因为这是浏览器执行隐式提交的时间)
Edit1:还可以防止在输入中写入任何内容。天哪
Edit2:最后使用form属性将这些输入绑定到不存在的公式上来解决了这个问题:A.form ""