我正在创建一个模态对话框。首先,我将iframe附加到body
标记以充当我的叠加层。
<div class="modal-screen">
<iframe src="javascript:false;"></iframe>
</div>
然后我将对话框追加到body
。
<div class="dialog">
<!-- various dialog related elements
</div>
现在我想在用户点击叠加层时关闭对话框。问题是我似乎无法绑定任何与叠加相关的事件。
总结一下我的JS,基本上我的对话框视图有一个initialize
方法,其中准备了叠加层:
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
}
答案 0 :(得分:0)
this.modal不是单个元素,而是一个DOM对象,这就是为什么你不能绑定它的原因。尝试绑定$('。modal-screen',this.modal)。
答案 1 :(得分:0)
没有理由在这里使用iframe。只需构造一个overlay div,然后在点击它时将其删除。