以下のコードのような単純なダイアログで、ダイアログがドラッグされるたびに高さが縮小されます。ダイアログのサイズ変更可能= falseを設定すると、高さの値も変更されます。最後に、dragStop イベント ハンドラでダイアログの高さを再更新して修正しました。
同様の問題がここで報告されていることがわかりましたが、それはIEであり、著者は高さの値を設定しないことを提案しました.IMHOはすべてのユースケースに適しているわけではありません.
Chrome と jQuery UI 1.8.19 を使用しています
<p><a id="edit" href="#">Open Editor</a></p>
<div id="editor"></div>
$(document).ready(function ()
{
$("#edit").on("click", function ()
{
var $dialog = $("#editor")
.dialog(
{
title: "HTML Editor",
modal: true,
autoOpen: false,
width: 600,
height: 350,
minWidth: 300,
minHeight: 200,
closeOnEscape: true,
resizable: false,
open: function ()
{
},
buttons:
{
"Save": function ()
{
$(this).dialog("close");
},
"Cancel": function ()
{
$(this).dialog("close");
}
},
dragStop: function (e, ui)
{
$(this).dialog("option", "height", "377px");
}
});
}
$dialog.dialog("open");
return false;
});
});
更新 1: 新しいプロジェクト (ASP.NET MVC 4) を作成したところ、次の CSS ルールを使用すると問題が発生することがわかりました。なぜですか?
*
{
margin: 0;
padding: 0;
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
}