javascript - 你能从安装了angular-touch的javascript中检测到双击吗

标签 javascript ios angularjs

我正在尝试在触摸设备上分配一个手势来“删除照片”,双击是有意义的。是否有 Angular 友好的方法来检测 double-tap,甚至是来自 javascript 的 long-tap? Angular-touch 不支持开箱即用。

PS:我知道我可以使用 hammer.js,但如果可以避免,我宁愿不加载另一个库。 angular-carousel 已经加载了 angular-touch

最佳答案

我浏览了 angular-touch.js 并添加了这个:

  longtapHandler = $parse(attr.ngLongtap),

这个:

  /*
   * add longtap event
   */
  if (tapping && diff > (1 * TAP_DURATION) && dist < MOVE_TOLERANCE) {
    // Call preventGhostClick so the clickbuster will catch the corresponding click.
    preventGhostClick(x, y);

    // Blur the focused element (the button, probably) before firing the callback.
    // This doesn't work perfectly on Android Chrome, but seems to work elsewhere.
    // I couldn't get anything to work reliably on Android Chrome.
    if (tapElement) {
      tapElement.blur();
    }

    if (!angular.isDefined(attr.disabled) || attr.disabled === false) {
      element.triggerHandler('longtap', [event]);
    }
  }

还有这个

element.on('longtap', function(event, touchend) {
  scope.$apply(function() {
    longtapHandler(scope, {$event: (touchend || event)});
  });
});

它似乎工作正常。

关于javascript - 你能从安装了angular-touch的javascript中检测到双击吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257419/

相关文章:

javascript - 王牌编辑器 : everything works except being able to type text into the editor

ios - IOS中如何开启 map 导航?

javascript - Angularjs 中的模块问题

javascript - KnockoutJs 和模板 - visual studio 中没有代码突出显示/完成?

javascript - 在 Breeze 级别使用多少业务逻辑?

javascript - ruby on Rails 无法正确加载 Node.js

ios - UITableViewCell 背景图像在 iOS 8 中未缩放

ios - 意外删除后 MainWindow.xib 不显示在文件 Pane 中

javascript - AngularJS 中的 API 端点输出 JSON 过滤器

angularjs - 将数据从父级传递到子级 angular.js 组件