我有以下代碼:如何防止jquery.ui.dialog從滾動窗口頂端(programaticallly調用時)
$(".foo-form").submit(function (event) {
event.stopPropagation();
event.preventDefault();
$.ajax({
url: this.action,
data: $(this).serializeArray(),
type: 'POST',
dataType: 'json',
success: function (data, msg, resp) {
var $form = $("#second-form");
$form.show().dialog({
resizable: false,
height:400,
width: 600,
modal: true,
title: "Recommendation added",
buttons: [
{
text: "OK",
click: doOK
},
{
text: "Cancel",
click: doCancel
}
]
});
}
})
return false;
});
如果我向下滾動頁面並提交表單,當對話框顯示出來,它將頁面滾動到頂部。有什麼方法可以覆蓋這個?
東西並不溶液
- 固定爲
.ui-dialog
類的定位。它未經修改(使用Google的CDN) - 不取消事件 - 如您所見,我致電
stopPropagation
,preventDefault
,和返回false。因此,這不是該事件是通過去(即使它是,它不是一個哈希鏈接到頁面頂部反正)
使用jQuery 1.72和jQuery UI 21年8月1日(每個最新版本) 。
嘗試讓請將其scrollTop和設置頁面的scrollTop的。 – 2012-08-08 21:48:53
你的意思是'currentScroll = $(window).scrollTop(); $ dialog .... {open:function(){$(window).scrollTop(currentScroll)}}'我的意思是,顯然我可以做到這一點。我很喜歡,更重要的是它不會滾動,因爲它正在打破頁面。 – 2012-08-08 21:50:31