2012-05-16 34 views
3

我试图让一个元素能够被两个触摸屏单击,并通过事件touchStartclick单击。ember.js中的多个动作'on'事件

如何将这两个事件连接到一个Ember视图?

我曾尝试:

{{action "itsClicked" on="click touchMove"}}

{{action "itsClicked" on="click, touchMove"}}

{{action "itsClicked" on="click"}} {{action "itsClicked" on="touchMove"}}

+0

ember.js时,事件将触发不再sproutcore了。你应该使用emberjs标签。 –

回答

6

这是目前不支持。但有一个公开的问题,请参阅GitHub问题跟踪器中的#569。你应该添加评论。

从GitHub的问题建议的解决方案是使用自定义视图,这样的事情:

Ember.View.extend({ 
    click: function(evt) { 
     this.fire('itsClicked', evt); 
    }, 
    touchMove: function() { 
     this.fire('itsClicked', evt); 
    }, 
    itsClicked: function(e) { 
     ... 
    } 
}) 
+4

哇,这很烦人。我可以理解他们在#569会话中试图阻止的一些事情,但应该有一个非常简单的语法,它捕获鼠标点击和触摸屏触摸,因为它们会指向相同的交互,而且它似乎不会是一个缺点。有什么我失踪? – ken

0

多个动作不支持 - 这迫使你通过创建组件(或意见)分开你的代码。

但是,您可以轻松地创建自定义事件解决您的应用程序中的点击/触摸问题:

App = Ember.Application.create({ 
    customEvents: {touchend: "click"} 
}); 

这意味着所有的“点击”感动