按钮点击关闭jQuery thickbox

时间:2012-07-06 06:56:53

标签: jquery thickbox

这是我的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" >

我试过这个功能,但它没有用。

5 个答案:

答案 0 :(得分:5)

Thickbox有内置的方法。 tb_remove只需在您需要的地方调用此方法tb_remove();即可。它会正确关闭厚箱。

如果您使用$('#TB_window').fadeOut();,TB_overlay DIV将保持打开状态。如果你再次做一些像$('#TB_overlay').fadeOut();这样的废话,那么它会给你的厚箱造成问题。而thickbox将停止运作。

答案 1 :(得分:3)

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

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

答案 2 :(得分:3)

此解决方案对我有用,请尝试:

$(document).ready(function{
  $('#button').click(function(){
   self.parent.tb_remove();
  });
});

答案 3 :(得分:1)

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

$('#closeTBWindow').click(tb_remove);

答案 4 :(得分:0)

我建议使用“按钮”代替“提交”,例如:

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

然后jQuery代码应该是:

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

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

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