【问题标题】:How to recognize long-press gesture in ember-based app?如何在基于 ember 的应用程序中识别长按手势?
【发布时间】:2013-12-24 02:44:30
【问题描述】:

现在我正在开发基于html5和phoneGap的移动应用程序。JS名气是ember。应用程序的规范要求响应长按手势。但长按事件不是 ember 内置事件。

我应该怎么做才能识别手势并连接到事件处理(控制器或路由)?

【问题讨论】:

  • 你有某种处理长按的 JavaScript 库吗?如果是这样,您可以创建一个 Ember 视图并使用它来处理长按 DOM 事件。
  • 这是一个 SO answer 有一个脚本。
  • Ember 无法处理长按。我使用 touchStart 和 touchEnd 事件来处理问题。

标签: android ember.js long-press


【解决方案1】:

我可以使用mouseUpmouseDown 完成此操作,但我确定您可以使用touchStarttouchEnd 事件。见here

我设置了一个jsbin,但这里是相关代码:

var myfunction = function() { 
  alert('held');
}

App.ApplicationView = Ember.View.extend({
  mouseDown: function(e){
   var runLater = Ember.run.later(this, myfunction, 1000);
    this.set('pressed', runLater);
  },

  mouseUp: function (e) { 
    Ember.run.cancel(this.get('pressed'));
  }
})

【讨论】:

  • 如果我想在“myfunction”中访问view的属性怎么办?例如,我想向相关控制器发送一个事件。
猜你喜欢
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多