我需要在窗口模糊事件上触发一个 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();
}
}
基于此代码,它会在页面中为第一个模糊事件抛出一次对话框。下次模糊事件未正确触发。
如果我遗漏了代码中的任何内容,请告诉我。