0

我需要在窗口模糊事件上触发一个 jquery 对话框。但由于页面中存在具有多个框架的框架集,它不会抛出对话框。因此,我在其中一个框架中创建了一个空 div,并在其中附加了生成的对话框。现在它只抛出一次对话框。但我需要它在每次发生模糊事件时抛出窗口。

提前致谢。

浏览器:Chrome、Firefox 和 IE9。

jQuery 库包括:jquery-1.3.2.js、jquery-ui-1.7.2.js、jQuery-ui-1.7.2.css

更多信息:

我在第二帧中创建了这个空 div

<div id='testpop'></div>

并在通用 js 文件中使用以下代码来触发模糊事件

$(window).blur(function() {
    ConfirmBox();
});

function ConfirmBox() {
    var timer;
    $('<div id="confirm" style="display: none"><p>Are you sure?</p></div>').dialog({
        closeOnEscape: false,
        resizable: false,
        position: top,
        width: 500,
        modal: true,

        open: function(event, ui) {
            timer = setTimeout(function() { alert("Logout"); }, 30000); 
        },
        buttons:
                                {
                                    "Logout": function() {
                                        alert("Logout");

                                    },
                                    "Resume": function() {
                                        $(this).dialog("close");
                                        clearTimeout(timer);
                                    }
                                }
    });
    if ($(window.frames[1].document)) {
        $('#testpop', window.frames[1].document).html($('#confirm').parent());
        $('#testpop', window.frames[1].document).show();
    }
}

基于此代码,它会在页面中为第一个模糊事件抛出一次对话框。下次模糊事件未正确触发。

如果我遗漏了代码中的任何内容,请告诉我。

4

0 回答 0