私はモーダルダイアログボックスを作成しています。まず、body
タグにiframeを追加して、オーバーレイとして機能させます。モーダルiframeをクリックしてダイアログを閉じますか?
<div class="modal-screen">
<iframe src="javascript:false;"></iframe>
</div>
次に、ダイアログボックスをbody
に追加します。
<div class="dialog">
<!-- various dialog related elements
</div>
ここで、ユーザーがオーバーレイをクリックすると、ダイアログを閉じます。問題は、オーバーレイに関連するイベントにバインドできないように見えることです。基本的に私のダイアログビューは、オーバーレイが用意されてinitialize
方法を持って、私のJSを要約すると
:私はそれを必要とするとき
initialize: function() {
this.modal = $('<div class="modal-screen"><iframe src="javascript:false;"></iframe></div>')
this.modal.on('click', function(e) {
// this event never seems to fire
console.log("hello");
}
}
それから私は、ページにレンダリングします。私は、オーバーレイをクリックすると、私はhello
を見ることはありません。..
render: function() {
$('body').append(this.modal);
// append other dialog content
this
}
私は[プログレッシブエンハンスメントでデザインする](http://filamentgroup.com/dwpe/)で、iframeを使うのが一番良いと読んでいます。しかし、あなたが提案する解決策はうまくいくように見えるので、私はそれ以上に良い理由がなくなるまで、ちょっとしたことをします。 –