3

这是我的 jQuery:

<script src="../js/jquery.min.js"></script>
<script type="text/javascript" src="../js/thickbox.js"></script>
<script type="text/javascript"

$('#button').click(function(){
     $('#TB_window').fadeOut();
});

</script>

html:

  <input type="submit" id="button" value="clse" >

我试过这个功能,但它不起作用。

4

5 回答 5

6

Thickbox 有他们的内置方法。tb_remove只需在需要的地方调用此方法tb_remove();。它将正确关闭厚盒。

如果您使用$('#TB_window').fadeOut();,TB_overlay DIV 将保持打开状态。如果你再次做一些无意义的事情,$('#TB_overlay').fadeOut();那么它会给你的厚盒带来问题。而thickbox 将停止功能。

于 2014-01-19T11:42:39.853 回答
4

This solution worked for me, try it:

$(document).ready(function{
  $('#button').click(function(){
   self.parent.tb_remove();
  });
});
于 2013-06-14T05:01:16.123 回答
3

您必须阻止执行输入的默认事件。将您的代码更改为:

$('#button').click(function(){
     $('#TB_window').fadeOut();
     e.preventDefault();
});
于 2012-07-06T07:01:00.143 回答
1

如果你包含了thickbox.js,这很明显,那就试试......

$('#closeTBWindow').click(tb_remove);
于 2013-08-21T13:43:03.713 回答
0

我建议使用“按钮”而不是“提交”,例如:

<input type="button" id="button" value="close" />

那么jQuery代码应该是:

$(document).ready(function{
  $('#button').click(function(){
   $('#TB_window').fadeOut();
  });
});

像这样,您不需要使用e.preventDefault().
$(document).ready()部分真的很重要。没有这个 jQuery 会在按钮存在之前尝试将代码附加到按钮上,因此将无法工作。

旁注:我喜欢将 DIV 元素用作按钮。

于 2012-07-06T11:59:13.527 回答