Detect Escape Keypress

by rlivsey

HTML

<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-latest.min.js"></script>
<script type="text/x-handlebars" data-template-name="some-view">
  Has escape been pressed? - {{escapePressed}}
</script>

JavaScript

App = Ember.Application.create({});

App.SomeView = Ember.View.extend({
    templateName: "some-view",
    escapePressed: false,
    didInsertElement: function() {
      this.keyupListener = this.keyPressed.bind(this);
      $(document).on("keyup", this.keyupListener);
    },
    willDestroyElement: function() {
      $(document).off("keyup", this.keyupListener);
    },
    keyPressed: function(e) {
      if (e.keyCode == 27) {
        this.set("escapePressed", true);
      }
    }
});

view = App.SomeView.create({});
view.append();