0

我有一个带有 html 的模态对话框(window.showModalDialog)。当我调整对话框大小时,其中的 HTML 不符合新边界,并且滚动条或元素不会 100% 扩展到新宽度。

为了解决这个问题,我必须将它拖来拖去,然后它会自动将其摇回正确的尺寸。

以编程方式修复它。我执行以下操作window.document.getElementById('removeMainBody').innerHTML =window.document.getElementById('removeMainBody').innerHTML;

但这会导致 html 中的一些动态对象停止运行。

调整对话框大小后,如何解决此问题并使对话框中的元素调整大小?

这是我的代码

 else if(<c:out value="${staffCount}" /> > 1){
            document.getElementById('removeDiv').style.display = '';
            window.dialogWidth='770px';
            window.dialogHeight='320px';
            window.document.getElementById('removeMainBody').innerHTML =window.document.getElementById('removeMainBody').innerHTML;
        }
4

1 回答 1

1

如果您从 Body-Tag 设置样式或类,这将强制进行 HTML 重排,并且站点将再次正确显示,而无需设置 innerHTML 属性。

example:

...
window.document.body.className = "relfow"; 
// if the body class Attribute was set, than set it now back
window.document.body.className = "oldBodyStyleClassName" ; / Or just to ""
...

如果浏览器优化,刷新调用,所以现在回流发生,你可以

setTimeout(function(){
...
window.document.body.className = "relfow"; 
// if the body class Attribute was set, than set it now back
window.document.body.className = "oldBodyStyleClassName" ; / Or just to ""
...
})

我希望这有帮助。(在这里你可以找到回流链接的一些信息)

于 2013-01-11T12:49:12.323 回答