onRender
メソッド(またはitem:rendered
コールバック)のHTML要素の一部を処理しようとすると失敗します。onRenderの要素で動作しません。
例:
Bars.EditGallery = Backbone.Marionette.ItemView.extend template: 'bars/edit_gallery' className: 'edit-gallery' onRender: -> # If I just write @$('select').chosen(), it doesn't work # despite the jQuery object contains what I expect. # To get it working, I have to write: callback = -> @$('select').chosen() setTimeout(callback, 0)
それがフィールドにフォーカスを与えるように、他のアクションと同じです。
どうすれば対処できますか? setTimeout
のトリックが動作しますが、それほどエレガントではありません。
私は、この$(セレクタ)の代わりに$(セレクタ)を使用すると問題が発生しないことに気付きました。 –