gpt4 book ai didi

javascript - 如何在未使用 set_modal(true) 打开 RadWindow 时禁用父页面

转载 作者:行者123 更新时间:2023-12-03 08:54:02 25 4
gpt4 key购买 nike

如何在 RadWindow 打开时禁用父页面而不将 set_modal 属性值设置为 true?

var oWnd = radopen(finalURL, null, width, height);
oWnd.setUrl(finalURL);
oWnd.set_modal(true); //// Without this line ?
oWnd.set_visibleStatusbar(false);
oWnd.show();
return oWnd;

最佳答案

由于 IE 错误,旧版本在 iframe 中时可能会在 IE 下抛出错误。这在以后的版本中已修复,因此您应该升级。更多详细信息请参见:http://www.telerik.com/support/kb/aspnet-ajax/window/details/opening-a-modal-radwindow-on-page-load-inside-radwindow-under-ie9-and-ie10 .

解决这个问题的本质是在对话框显示之前聚焦某些内容,例如:

function fix()
{
document.documentElement.focus();
Sys.Application.remove_load(fix);
}
Sys.Application.add_load(fix);

否则,您可以使用自己的 div 来模仿模态背景 div。下面是一个示例(即使它以 RadNotification 控件为目标: http://www.telerik.com/support/kb/aspnet-ajax/notification/details/how-to-make-a-modal-radnotification

本质是这样的:

    function showModalDiv(sender, args)
{
if (!modalDiv)
{
modalDiv = document.createElement("div");
modalDiv.style.width = "100%";
modalDiv.style.height = "100%";
modalDiv.style.backgroundColor = "#aaaaaa";
modalDiv.style.position = "absolute";
modalDiv.style.left = "0px";
modalDiv.style.top = "0px";
modalDiv.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=50)";
modalDiv.style.opacity = ".5";
modalDiv.style.MozOpacity = ".5";
modalDiv.setAttribute("unselectable", "on");
modalDiv.style.zIndex = (sender.get_zIndex() - 1).toString();
document.body.appendChild(modalDiv);
}
modalDiv.style.display = "";
}

function hideModalDiv()
{
modalDiv.style.display = "none";
}

以及一些事件处理程序:

以及一些 CSS 以确保在视口(viewport)中紧密贴合:

        html, body, form
{
margin: 0;
padding: 0;
height: 100%;
}

关于javascript - 如何在未使用 set_modal(true) 打开 RadWindow 时禁用父页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32583697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com