单击模态iframe关闭对话框?

时间:2012-04-13 13:10:45

标签: javascript jquery iframe dialog modal-dialog

我正在创建一个模态对话框。首先,我将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
}

2 个答案:

答案 0 :(得分:0)

this.modal不是单个元素,而是一个DOM对象,这就是为什么你不能绑定它的原因。尝试绑定$('。modal-screen',this.modal)。

答案 1 :(得分:0)

没有理由在这里使用iframe。只需构造一个overlay div,然后在点击它时将其删除。