首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ember.js中将多个本机事件映射到一个语义应用程序事件?

在Ember.js中将多个本机事件映射到一个语义应用程序事件?
EN

Stack Overflow用户
提问于 2012-06-10 14:37:59
回答 1查看 451关注 0票数 3

我以前没有使用过Ember.js,但在阅读了guide on views的一部分后,我想知道Ember专家如何处理需要将多个本机事件映射到同一“应用程序事件”的情况。

在本指南中,给出的示例显示了将(本机) click事件映射到(特定于应用程序的) deleteItem事件。在许多情况下,许多本机事件映射到一个特定于应用程序的事件是很常见的。如果用户使用的是带有键盘和鼠标的触控设备(例如即将推出的Windows8平板电脑),而我需要将"touchstart“、"click”和"keyup“(例如[CTRL]-D)事件映射到相同的应用程序特定事件(如deleteItem ),该怎么办?

您是否只需要在视图上放置3个方法-- touchStart、click和KeyUp --并让它们都调用一个通用的第4个方法来发送deleteItem事件?

Ember中有没有内置的东西来处理这种情况--具体地说,就是在应用程序中多个本地事件都具有相同的语义含义的情况?我认为这将变得越来越普遍,因为浏览器支持触摸,笔记本电脑支持触摸,浏览器API可以接受来自其他硬件的输入,如麦克风、摄像头等。我可以想象一个设备,其中5到6个本地事件对于给定的视图都具有相同的语义含义。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-06-11 07:12:22

我们一直在谈论一些类似于支持‘点击’事件的东西。

我认为最好的方法是使用注册jQuery‘特殊事件’。这里有一个更多信息的链接:http://benalman.com/news/2010/03/jquery-special-events/

要使特殊事件与Ember视图一起工作,您需要将其注册为Ember.Application实例上的自定义事件:

代码语言:javascript
复制
Ember.Application.create({
  customEvents: {
    // key is the jquery event, value is the name used in views
    myeventname: 'myEventName'
  }
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10966823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档