jquery对话框不会在窗口模糊事件的帧中不断打开

时间:2013-08-08 13:10:26

标签: jquery frame frameset

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

提前致谢。

浏览器:Chrome,Firefox和IE9。

包括Jquery lib: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();
    }
}

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

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

0 个答案:

没有答案