javascript - 检查 Thickbox 是否打开

标签 javascript thickbox

我使用 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 '';
    }


};

最佳答案

Thickbox 中没有固有的功能可供检查,但查看代码,您应该能够检查 #TB_window 是否存在和可见性:

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

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

var thickbox_shown = ($('#TB_load').length > 0) ? true : false;\

关于javascript - 检查 Thickbox 是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14362498/

相关文章:

javascript - 为什么滚动时元素的 scrollTop 属性保持为 0?

JavaScript 不返回请求

javascript - 如何使用对象属性从数组中删除对象 - React

jquery - 启动 Thickbox onload 而不是单击

thickbox - 关闭thickbox并再次打开它

javascript - 是否可以在 AngularJS 中使用 ng-model 预填写表单?

Javascript 对象连接重复数组

javascript - Thickbox 问题 - 出现在页面底部

javascript - 无法将值从厚盒弹出窗口传递到父页面

html - CSS 修复了 Firefox 中的定位问题