これが短いデモです。ダイアログをドラッグ可能にしたい。これは、次のようにcssを介して水平方向に中央に配置されます。
div.dialog-container {
position: absolute;
left: 0;
right: 0;
margin: auto;
}
私のダイアログには、ヘッダーとコンテンツdivが含まれています。ヘッダーをドラッグして、ダイアログ全体をドラッグします。だから私は次のようなjQuery-UI.draggable()ウィジェットを使用しました:
$("div.dialog-container").draggable({
handle: "div.dialog-header"
});
問題は次のとおりです。ダイアログをドラッグしても機能しますが、意図したとおりには機能しません。垂直方向のダイアログはマウスに完全に追従しますが、水平方向のダイアログはマウスの追従が遅すぎるため、ドラッグしながらダイアログを離れることができます(たとえば、右端のヘッダーをクリックしてダイアログを右にドラッグします)。興味深いのは、「margin:auto;」を削除することです。問題は修正されましたが、要素は中央に配置されなくなりました。divをjavascriptで中央に配置することはできません。その問題を解決する方法について何かアイデアはありますか?