我可以强制只在窗口内拖动对话框吗?
HTML:
jQuery的:
$( "#dialog" ).dialog({ height: 900, width:1200, modal: true, });
问题是目前对话框可以拖动到几个厘米的窗口区域,是否有可能设置收容窗口? 或者默认设置已经是包含:窗口? 如果是,问题的根本原因是什么? 谢谢。
试试这个,为了演示,我使用了一个div
你可以用window
替换它
$("#dialog").dialog({ open: function(event, ui) { var vDlg = $(event.target).parent(); var vCont = $('#main'); // for window use - $(window); vDlg.draggable("option", "containment", vCont).appendTo(vCont); $(this).dialog("option", "position", "center"); } });
在这里演示
传递给对话框使用的可拖动窗口小部件的默认containment
选项确实是document
,而不是window
。
您可以通过使用data()获取对话框小部件,然后访问其uiDialog
成员并在那里修改draggable的containment
选项来覆盖此默认值:
$("#dialog").dialog({ height: 900, width: 1200, modal: true }).data("ui-dialog").uiDialog.draggable("option", "containment", "window");