2

html:

    <div id="dialog" title="Past Issues">
    </div>

Jquery:

$( "#dialog" ).dialog({
        height: 900,
        width:1200,
        modal: true,
});

問題は、現在、ダイアログをウィンドウ領域のさらに数cmにドラッグできることです。包含をウィンドウに設定することは可能ですか?または、デフォルト設定はすでに包含:ウィンドウですか?はいの場合、問題の根本的な原因は何ですか?ありがとう。

4

2 に答える 2

2

containmentダイアログで使用されるドラッグ可能なウィジェットに渡されるデフォルトのオプションは、実際documentにはではなくwindowです。

data()を使用してダイアログウィジェットを取得し、そのuiDialogメンバーにアクセスして、そこでドラッグ可能なcontainmentオプションを変更することで、このデフォルトをオーバーライドできます。

$("#dialog").dialog({
    height: 900,
    width: 1200,
    modal: true
}).data("ui-dialog").uiDialog.draggable("option", "containment", "window");
于 2013-01-03T10:06:00.033 に答える
1

これを試してみてください。デモでは、これを次の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");
    }
});​

デモはこちら

于 2013-01-03T10:21:27.087 に答える