在我的申请中,我有如下要求: 当用户单击菜单项时,默认情况下会在浏览器的左上角打开一个jquery对话框。如果用户将对话框拖动到窗口上的某个位置并打开另一个菜单项,则该对话框将自动放置在页面的左上角。但是,我想在上一个对话框拖动停止的位置显示新项目单击对话框。为此,我尝试在对话框的dragstop事件中保存左侧和顶部位置值,但是,在对话框拖动后它没有显示顶部和左侧值,而是显示默认的左上角值。 我的代码:
$("#modalDiv").dialog({
position: {
my: "left top",
at: "left top+122",
of: "body"
},
beforeClose: function(event, ui) {
alert('Firing close- top:' + $(this).position().top + " left:" + $(this).position().left);
},
dragStop: function(event, ui) {
//This alert message should show latest top left postion values of jquery dialog box it is showing default top left values even after drag event finished?
//alert('Firing close- top:' + $(this).position().top + " left:" + $(this).position().left);
}
}).dialog("open").parent().appendTo(jQuery('form:first')).find('.ui-dialog-title').html('<span>' + titleStr + '</span>');
任何帮助解决它是值得赞赏的。
提前致谢。
答案 0 :(得分:0)
当您创建对话框时,jQuery在内部使用div
元素表示它。您可以观察该div的属性aria-describedby
,因为它包含与对话框相同的ID,并获取其位置:
$("[aria-describedby= modalDiv]").position();