在做NB88Game的时候,用的是ModalPopupExtender模式弹出框组件。ModalPopupExtender默认是随滚动条滚动Div的,但是其中有一个Div特别长,所以改变RepositionMode为None,但是无效。
经过一番查找,发现是一个Bug。在ModalPopupBehavior.js中的initialize函数中没有初始化position,而是用的固定值:this._foregroundElement.style.position = 'fixed';
在此函数最后加上以下这段初始化,一切OK了。哈哈:
var positioning = this.get_repositionMode();
if ((positioning === AjaxControlToolkit.ModalPopupRepositionMode.RepositionOnWindowScroll) ||
(positioning === AjaxControlToolkit.ModalPopupRepositionMode.RepositionOnWindowResizeAndScroll)) {
this._foregroundElement.style.position = 'fixed';
} else {
this._foregroundElement.style.position = 'absolute';
}