【问题标题】:Triggering action if user canceled touch on mobile device如果用户在移动设备上取消触摸,则触发操作
【发布时间】:2015-06-25 01:01:08
【问题描述】:

我需要跟踪用户是否取消了移动设备上的触摸。我认为触摸事件会很容易,但我已经坚持了两天了。这是我一直在尝试的:

$("#element)
  .bind('touchstart', function() {
    action1();
  })
  .bind('touchcancel', function() {
    action2();
  })
  .bind('touchend', function() {
    action3();
  })

touchstarttouchend 工作正常,但 touchcancel 永远不会运行。即使我将手指释放到元素之外,touchend 操作也会运行,但 touchcancel 不会运行。

【问题讨论】:

    标签: javascript html web-applications mobile-safari jquery-events


    【解决方案1】:

    您是否尝试过将手指从显示面板的边缘拖开?这曾经会导致旧 Android 手机上的触摸取消。

    编辑:当系统需要取消触摸时会发生触摸取消,因此您可以尝试应用程序或操作系统启动的行为,这些行为可能会中断用户正在执行的操作。可能导致这种情况的一些示例

    • 接收屏幕通知,例如来电
    • 修改 dom,使作为 touchstart 焦点的元素在不同位置重新呈现
    • 删除作为 touchstart 焦点的 dom 元素

    【讨论】:

    • 我有..没有什么不同:(
    • 我刚刚阅读了您的编辑,我不得不说这闻起来很时髦。除了映射位置之外,您是否知道任何检测用户意图取消的方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 2023-03-18
    • 2018-03-26
    • 1970-01-01
    • 2016-06-25
    相关资源
    最近更新 更多