ビューを作成してダイアログを開くたびに、ダイアログが開かれた回数であるn
一連のイベントを取得します。n
以下のサンプルでは、クリックするたびにfooButton
ボタンn
クリック イベントが発生します。イベントのバインドを解除することになっていることはわかっていますが、機能しthis.undelegateEvents()
ていません。
SimpleDialog (および他のダイアログ ウィジェットの動作) の方法について私が理解していることから、ダイアログの作成時に div の内容が別の要素にコピーされ$dialog = this.$el.modal();
ます。その上でundelegateEvents。このアプローチも機能していません。
何か案は?
MyDialogView = Backbone.View.extend({
initialize: function(options){
this.render();
},
render: function() {
this.$el.empty().append("<button id='fooButton'>Foo</button>");
this.$el.modal({ "static": true });
},
events: {
"click #fooButton": "fooPressed"
},
fooPressed: function() {
alert("clicked");
$.modal.close();
}
});
$(function(){
$("#openDialog").click(function() {
new MyDialogView({el: $("#dialog") });
});
});
助けてくれてありがとう!
JQuery UI ダイアログに切り替えることで解決しました。以下の私の答えを見てください。