Elm “如何检测”;长按;在榆树?

Elm “如何检测”;长按;在榆树?,elm,Elm,有没有办法检测Elm中的“长压”?i、 e.鼠标/指针向下事件,随后是一段时间不移动(或至少不跨元素边界移动) 我正在使用elm包mpizenberg/elm touch events 我在javascript中找到了这样做的讨论,但在Elm中没有 谢谢 伊万以下是我的做法: 跟踪按钮被按下的时间——将其初始化为“未按下”,表示为Nothing 按下按钮时,更新模型以显示按钮已按下0秒(仅0) 使用时间。每订阅一次约每秒增加一次“按下的时间” 每次增量后,检查按钮按下的时间,如果足够长,则执行操

有没有办法检测Elm中的“长压”?i、 e.鼠标/指针向下事件,随后是一段时间不移动(或至少不跨元素边界移动)

我正在使用elm包mpizenberg/elm touch events

我在javascript中找到了这样做的讨论,但在Elm中没有

谢谢

伊万

以下是我的做法:

  • 跟踪按钮被按下的时间——将其初始化为“未按下”,表示为
    Nothing
  • 按下按钮时,更新模型以显示按钮已按下0秒(
    仅0
  • 使用
    时间。每订阅一次约每秒增加一次“按下的时间”
  • 每次增量后,检查按钮按下的时间,如果足够长,则执行操作
  • 您需要在模型中跟踪每个可以“长按”的元素的这种状态

    完整示例:


    我不熟悉mpizenberg/elm touch events软件包,但我认为您可以调整此代码以使用该软件包,而不会遇到太多麻烦。

    感谢您的帮助,这是一个好主意-感谢您提供的工作示例,非常清晰!我还成功地尝试了一种不同的方法(由mpizenberg/elm touch events的mpizenberg建议),鼠标按下可触发
    Task.perform(总是MaybeLongPress)(Process.sleep 1500)
    。本周我将发布工作代码,并从这里链接。事实上,我认为你的想法更好。它更健壮,可以检查鼠标是否连续按下一段时间。