0

我正在使用 WP,我使用Thickbox 在自定义页面的后端上传图像。

JS有没有办法检查Thickbox是否打开?

我需要检查这一点,因为我有一个onbeforeunload事件(在某些情况下,当用户离开页面时显示警告),但显然我不希望在用户只是在Thickbox 页面之间导航时显示警告。谢谢。

我目前使用的代码 -

var bol_submit_clicked = false;
$('input[name="Submit"]').click(function(){
    bol_submit_clicked = true;
});

window.onbeforeunload = function closeEditorWarning(){

    var bol_option_changed = false;

    /** Check to see if the settings warning is displayed */
    if($('#unsaved-settings').css('display') !== 'none'){
        bol_option_changed = true;
    }

    /** Display a warning if the user is trying to leave the page with unsaved settings */
    if(bol_option_changed === true && bol_submit_clicked === false){
        return '';
    }


};
4

1 回答 1

2

Thickbox 中没有要检查的固有函数,但是查看代码,您应该能够检查 的存在和可见性#TB_window

var thickbox_shown = ($('#TB_window').is(':visible')) ? true : false;

或者,尝试计算 的长度#TB_load

var thickbox_shown = ($('#TB_load').length > 0) ? true : false;\
于 2013-01-16T16:29:10.480 回答