Chrome v. 26.0.1410.64
jQuery v. 1.7.1jQueryUI v. latest
web应用程序是使用asp.net webforms构建的
- 发生的是,当页面在顶部时,对话框正常打开,一切都按预期工作。拖动对话框不会导致问题。如果页面向下滚动,当尝试拖动对话框时,对话框的top css属性大致增加垂直滚动量的值。这只发生在谷歌浏览器。
这是函数中打开模态弹出窗口的部分。
var $dialog = $('<div id="dialogIframe" title="Some title"></div>')
.html('<iframe id="jqueryIframe" style="border: 0px;" src="' + page + '"
width="99%" height="99%"></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: height,
width: width,
resizable: false,
draggable: true,
buttons: dialog_buttons,
close: function (event, ui) {
$('#dialogIframe').remove();
}
});
$dialog.dialog('open');
- 我正在做别人的代码。我不确定是什么导致了这种行为。什么可能导致这种行为
编辑:当切换到jQuery 1.9.1版本时,它可以在谷歌浏览器中正常工作,但同样的问题现在出现在IE9和FF最新(他们可以正常使用旧的jQ版本)
编辑2:-我有一种感觉,这个问题可能与webforms中的MaintainScrollPositionOnPostback页面属性有关,顺便说一下,我无法以任何常规方式禁用或设置为false:在aspx页面上,同一页面的代码隐藏,母版页面,web。Config,这太棒了
在chrome中也有同样的问题,用
解决了 open:function(){
$('body').addClass('stop-scrolling')
},
beforeClose: function( event, ui ) {
$('body').removeClass('stop-scrolling')
},
这对我来说很有效,因为我的对话框非常小,但是当你的对话框中的内容超过屏幕空间时,你可能会遇到麻烦
CSS类看起来像
.stop-scrolling {
height: 100%;
overflow: hidden;
}
并阻止主体滚动