这是我的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" >
我试过这个功能,但它没有用。
答案 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元素用作按钮。