这是我的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" >
我尝试过这个功能,但它没有用。
Thickbox有内置的方法。 tb_remove
只需要在任何地方使用tb_remove();
这种方法。它会正确关闭厚箱。
如果你使用$('#TB_window').fadeOut();
,TB_overlay DIV将保持打开状态。如果你再次做一些像$('#TB_overlay').fadeOut();
这样的废话,那么它会给你的厚箱造成问题。而厚箱将停止运作。
您必须阻止执行输入的默认事件。将您的代码更改为:
$('#button').click(function(){
$('#TB_window').fadeOut();
e.preventDefault();
});
这个解决方案适合我,尝试一下:
$(document).ready(function{
$('#button').click(function(){
self.parent.tb_remove();
});
});
如果你包括thickbox.js,这是显而易见的,而不是尝试.....
$('#closeTBWindow').click(tb_remove);
我建议使用“按钮”而不是“提交”,如:
<input type="button" id="button" value="close" />
那么jQuery代码应该是:
$(document).ready(function{
$('#button').click(function(){
$('#TB_window').fadeOut();
});
});
像这样,你不需要使用e.preventDefault()
。
$(document).ready()
部分非常重要。没有这个jQuery会尝试在代码存在之前将代码附加到按钮,因此无法工作。
旁注:我喜欢使用DIV元素作为按钮。