3

私は以前に Ember.js を使用したことがありませんでしたが、 ビューに関するガイドの一部を読んだ後、Ember の専門家が複数のネイティブ イベントを同じ「アプリケーション イベント」にマップする必要がある状況をどのように処理するかを知りたいと思いました。

このガイドでは、(ネイティブの) クリック イベントを (アプリケーション固有の) deleteItem イベントにマッピングする例を示しています。多くの場合、多くのネイティブ イベントが 1 つのアプリケーション固有のイベントにマップされるのが一般的です。ユーザーがキーボードとマウスも接続されたタッチ デバイス (近日発売予定の Windows 8 タブレットなど) を使用していて、"touchstart"、"click"、"keyup" (例: [CTRL]-D) イベントをマップする必要がある場合はどうでしょうか。 deleteItem のような同じアプリケーション固有のイベントに?

ビューに 3 つのメソッド (touchStart、click、KeyUp) を配置し、それらすべてに共通の 4 番目のメソッドを呼び出して、deleteItem イベントを送信しますか?

この状況を処理するために Ember に組み込まれているものはありますか? 具体的には、アプリ内で複数のネイティブ イベントがすべて同じ意味を持つ状況です。ブラウザーがタッチ対応になり、ラップトップがタッチ対応になり、ブラウザー API がマイクやカメラなどの他のハードウェアからの入力を受け入れるようになるにつれて、これはますます一般的になると思います。5 つまたは 6 つのネイティブ イベントがすべて特定のビューに対して同じセマンティックな意味を持ちます。

ありがとう!

4

1 に答える 1

2

「タップ」イベントをサポートするのと同様のことについて話してきました。

jQueryの「特別なイベント」を登録するのが最善の方法だと思います。詳細情報へのリンクは次のとおりです: http://benalman.com/news/2010/03/jquery-special-events/

Ember.Application特別なイベントを Ember ビューで機能させるには、インスタンスでカスタム イベントとして登録する必要があります。

Ember.Application.create({
  customEvents: {
    // key is the jquery event, value is the name used in views
    myeventname: 'myEventName'
  }
});
于 2012-06-10T23:12:22.450 に答える