![](/img/trans.png)
[英]How to declare an angular-bootstrap modal in a way that is safe for minimization
[英]How to prevent page scroll to top when using Angular-bootstrap modal and window position:fixed workaround for ipad?
您可能知道,某些设备上的引导程序模式存在错误,模式列表后面的页面滚动而不是模式页面( http://getbootstrap.com/getting-started/#support-fixed-position-keyboards )
可以通过添加css-rule .modal-open { position: fixed; }
.modal-open { position: fixed; }
。
但是此修复程序会产生另一个错误-当您打开模式窗口时,页面会滚动到顶部。 可以通过JS来解决,例如通过以下方式: https : //stackoverflow.com/a/34754029/2244262
但是我使用angular-bootstrap包,它将packagestrap jquery事件替换为promises 。 因此,我不知道如何为显示/隐藏事件的所有模态定义全局处理程序。 我的代码中有太多模态,并且我不想在每个模态调用中定义这些处理程序,这太脏了。
关于如何解决我所遇到的最主要问题的任何想法?
也许您可以那样做。 当模式关闭时,关闭功能起作用。 这可以防止模式关闭时页面向上滚动。
ngOnInit(): void {
document.body.style.position = 'initial';
document.body.style.top = `-${window.scrollY}px`;
...
}
close(result?: any): void {
this.activeModal.close(result || {});
const scrollY = document.body.style.top;
document.body.style.position = '';
document.body.style.top = '';
window.scrollTo(0, parseInt(scrollY || '0') * -1);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.