如何在基于 ember 的应用程序中识别长按手势?
Posted
技术标签:
【中文标题】如何在基于 ember 的应用程序中识别长按手势?【英文标题】:How to recognize long-press gesture in ember-based app? 【发布时间】:2013-12-24 02:44:30 【问题描述】:现在我正在开发基于html5和phoneGap的移动应用程序。JS名气是ember。应用程序的规范要求响应长按手势。但长按事件不是 ember 内置事件。
我应该怎么做才能识别手势并连接到事件处理(控制器或路由)?
【问题讨论】:
你有某种处理长按的 javascript 库吗?如果是这样,您可以创建一个 Ember 视图并使用它来处理长按 DOM 事件。 这是一个 SO answer 有一个脚本。 Ember 无法处理长按。我使用 touchStart 和 touchEnd 事件来处理问题。 【参考方案1】:我可以使用mouseUp
和mouseDown
完成此操作,但我确定您可以使用touchStart
和touchEnd
事件。见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的属性怎么办?例如,我想向相关控制器发送一个事件。以上是关于如何在基于 ember 的应用程序中识别长按手势?的主要内容,如果未能解决你的问题,请参考以下文章