如何更改ThickBox的默认行为?

时间:2010-06-29 08:53:42

标签: thickbox

我在一页中使用Thickbox,
现在你知道,如果我们点击厚箱页面[黑色部分的意思],

所以我想删除那个行为,我想删除那个东西....意味着如果用户在黑暗部分点击该页面的一侧然后页面不应该删除 - 消失,它应该留在窗口..

通过点击“关闭”链接

来关闭厚盒页面的唯一方法

他们有什么方法可以做到这一点?

提前谢谢,
尼茨。

3 个答案:

答案 0 :(得分:2)

我知道这是一个老问题,但我找到了另一种方法,在不更改thickbox源代码的情况下执行此操作,在我启动thickbox窗口后,我执行以下操作:

tb_show('', 'website.php?inlineId=hiddenModalContent&TB_iframe=true');
jQuery("#TB_overlay").off('click');

这会删除点击操作,因此它就像一个模态窗口而不会丢失标题栏。

答案 1 :(得分:1)

在Thickbox.js中转到函数tb_show

在这个if语句中:

    if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
        $("body","html").css({height: "100%", width: "100%"});
        $("html").css("overflow","hidden");
        if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
            $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
            $("#TB_overlay").click(tb_remove);  //Remove me
        }
    }else{//all others
        if(document.getElementById("TB_overlay") === null){
            $("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
            $("#TB_overlay").click(tb_remove); //Remove me
        }
    }

您需要注释掉包含$("#TB_overlay").click(tb_remove);的两行。我已在您应注释掉的行中添加了//Remove Me的评论。

答案 2 :(得分:0)

这可以帮到你: - )

$("#TB_overlay").unbind("click",tb_remove);