【问题标题】:Preventing erroneous button clicks from being processed due to "touchend" events on an iPad防止由于 iPad 上的“touchend”事件而导致错误的按钮点击被处理
【发布时间】:2014-02-22 08:13:05
【问题描述】:

我有一个包含在指令中的按钮,如下所示: [button type="button" class="btn btn-primary stdbutton{{buttonSize}}" tt-tap="click()" ng-transclude] [/button] (当然不使用'[')

另外,请注意“my-tap”指令。这用于绕过由 iPad 等待查看单击是否实际上是双击而导致的 300 毫秒延迟。它检测触摸屏引发的“touchend”和“touchmove”事件并适当地处理它们。

my-tap 指令可以正常工作。我遇到的情况是,当一个按钮用于在两个视图之间导航时,另一个视图的屏幕上的相同位置存在一个类似的按钮,嵌入式浏览器在之后将另一个视图中的按钮留在选定状态导航发生了!我假设它正在按照引导程序应用 btn-primary.active CSS 类,或类似的东西。

通过我的自定义 my-tap 指令,我可以防止第二个视图上的按钮被错误地“点击”,因为在第二个视图上发生另一个“touchend”事件之前,我的手指无法离开屏幕。这很好用。但是我怎样才能让第二个视图上的按钮保持未选中状态?我是否应该设置一个计时器或其他东西,然后明确地将按钮标签上的类设置为未选中?

【问题讨论】:

    标签: html angularjs mobile


    【解决方案1】:

    这个解决方案的最佳答案是使用 fastclick.js,它是一个与 angularjs 完美集成的库,并导致 angular 的 ng-click 指令在 iPad 上准确地执行正确的操作并消除了 300 毫秒的延迟,从而使我的自定义指令已过时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多