有人可以提供一个如何在Ember.js中定义自定义事件的示例吗?

时间:2012-10-04 05:49:31

标签: javascript ember.js

在Ember指南中:

http://emberjs.com/guides/view_layer/

在内置事件表下方,给出了添加自定义事件的示例:

App = Ember.Application.create({
  customEvents: {
    // add support for the loadedmetadata media
    // player event
    'loadedmetadata': "loadedMetadata"
  }
});

但是,我仍然对如何实现自定义事件感到困惑。例如,如果我想将自定义事件'leftArrow'映射到键码37,我该如何命名?

1 个答案:

答案 0 :(得分:1)

对于您的活动,我不会将其归类为“自定义活动”。自定义事件是浏览器或jQuery本身支持的事件类型,这些事件尚未在Ember中实现。

您想要实现的目标已经作为“关键”事件存在,您只需要捕获关键代码并做出相应的响应。例如:

App.SomeView = Em.View.extend({
    keyDown: function (e) {
        if (e.keycode === 37) {
            // do your stuff or call a function
        }
    }
});

应用程序创建构造函数不是执行此操作的地方,您将需要根据要执行的操作处理视图或控制器中的键事件。请查看自定义事件上方的EmberJs文档页面上的部分。这些是你可以处理的事件。