2

ビデオタグからの「終了」ビューに応答する残り火ビューを取得する際に問題が発生します。アプリケーションでもカスタムを設定し、ビューに終了メソッドを作成しましたが、サイコロはありません。ビューのdidInsertElementで$()を介して何かを機能させるように管理しましたが、ビューの標準の「on」メソッドは何もしませんでした。これは、イベントが要素で発生しているようですが、ビューには到達しません。ただし、$を使用して設定すると、「これ」はビューではなく要素にバインドされるため、1トンの助けにはなりません。

私の見解:

CommercialView: Em.View.extend
            tagName: 'video'
            templateName: "commercial"
            attributeBindings: ['autoplay', 'width', 'height']
            width: 320
            height: 240
            autoplay: true
            ended: (event) ->
                debugger
            didInsertElement: () ->
                #this.on('ended', this.ended)​ #doesn't work
                this.$().on('ended', this.ended) #shifts this to the element 

私のアプリケーション:

App = Em.Application.create
    customEvents: {
        'ended':'ended'
    }
4

1 に答える 1

4

これは、Ember がイベントに使用する jQuery の制限です。ビデオまたはオーディオイベントを委任することはできません: http://jsfiddle.net/XzVXx/

context残念ながら、のようにイベントの引数を取る機能もあり$.ajax()ませんthis

最も近いものは次のとおりです。

didInsertElement: function(){
  this.$().on('ended', $.proxy( this.ended, this )) ;
}
于 2012-09-26T11:52:59.693 に答える