我不知道为什么我遇到这个特殊的jQuery Modal有问题。我在表格的每一行旁边都有链接。当用户单击它时,我会出现一个模态对话框,以确认他是否要删除所选行。当表格很长时,屏幕会滚动到顶部,然后用户必须向下滚动到行确认的位置。
为什么模态不会直接放在现有屏幕的顶部中心,同时保持滚动位置?
<a href="#" onclick='@string.Format("ConfirmCancelReadyToRun(this,
'{0}','{1}','{2}')", item.VendorId, item.RunYearMonth, string.Format("{0:yyyy/MMM}", item.RunYearMonth))'>Cancel</a>
脚本:
function ConfirmCancelReadyToRun(link, vendorId, runYearMonthDate, runYearMonthDisplay) {
var $myDialog = $("<div></div>")
.html("Are you sure that you want to Cancel the Ready to Run for Vendor ID " + vendorId + " on " + runYearMonthDisplay + "?")
.dialog({
modal: true,
autoOpen: false,
title: "Confirm Cancel",
my: "center",
at: "center",
of: window,
buttons: {
"Cancel": function () {
$(this).dialog("close");
return false;
},
"OK": function () {
$(this).dialog("close");
var form = $(link).parents("form:first");
var actionString = encodeURI(CorrectUrl("/ReadyToRun/CancelReadyToRun?vendorId=" + vendorId + "&runYearMonthDate=" + runYearMonthDate));
form.attr("action", actionString);
form[0].submit();
return true;
}
}
});
$myDialog.dialog('open');
}
答案 0 :(得分:1)
它滚动到屏幕顶部的原因是因为你的锚标签引用空书签href,即href="#"
如果你做了一个假的链接&#34;看起来像链接,但实际上是一个跨度或div,所有悬停在css中的样式等,然后你可以点击启动对话框,而无需href链接到任何地方。
我还建议使用类和$('.classname').on('click', function(){});
语法绑定到jQuery中元素的click事件,并将参数存储在data
属性中的元素上。然后,您可以在$(this).data()
答案 1 :(得分:0)
尝试在fullPath = [bundlePath stringByAppendingPathComponent:filepath];
position
.dialog