Как изменить поведение по умолчанию для ThickBox? - PullRequest
2 голосов
/ 29 июня 2010

Я использую Thickbox на одной странице,
теперь, как вы знаете, если мы щелкнем на стороне страницы Thickbox [означает в черной части],

, поэтому я хочу удалить это поведение, яхотите удалить эту вещь .... означает, что если пользователь щелкнул боковой стороной этой страницы в темной части, то страница не должна быть удалена-исчезнуть, она должна оставаться в окне.

единственный путьчтобы закрыть страницу «толстого ящика», нажав на эту ссылку «Закрыть»,

, так есть ли у них какой-либо способ сделать это?

заранее спасибо,
Nitz.

Ответы [ 3 ]

2 голосов
/ 29 марта 2012

Я знаю, что это старый вопрос, но я нашел другой способ сделать это, не меняя исходный код Thickbox, после того, как я запускаю окно Thickbox, я делаю следующее:

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

Это удаляет действие щелчкатаким образом, оно становится модальным окном без потери заголовка.

1 голос
/ 29 июня 2010

В 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 к строкам, которые вы должны закомментировать.

0 голосов
/ 16 декабря 2012

Это может помочь вам: -)

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