2012-03-22 1 views

答えて

11

バックボーンのイベント処理は、delegatedelegateに基づいており、バブルのイベントでのみ使用できます。問題は、ロードイベントがバブルにならないことです。 HTML5 specificationから:

ダウンロードが完全に利用可能な状態にimg要素を設定し
成功した場合は、適切な画像のプレゼンテーションを更新し、img要素でloadという名前のシンプルなイベントを発出。

そしてsimple eventないバブル:電子という名前のシンプルなイベントを発射

は(特に明記しない場合を除く)バブルのない名前電子、とそのイベントを意味し、 [...]

このように手でハンドラーを接続する必要があります:

render: function() { 
    var self = this; 
    this.$el.append(some_html_with_img_elements); 
    this.$el.find('img').on('load', function() { self.img_loaded() }); 
    return this; 
} 

デモ:http://jsfiddle.net/ambiguous/c7wH2/

+0

パーフェクト!それが助けになりました。はい、jqueryの "on"メソッドを使用している間、イベントバブリングの問題に気付きました。バックボーンが別のロジックを実装しているのではないかと疑問に思っていました。しかし、私はまだ「単純な出来事」については知らなかった。答えをありがとう – KD12

関連する問題