私はこれらのパフォーマンスの問題に直面しました。ダイアログをドラッグまたはサイズ変更すると、通常、マウスはiframeを移動します。これらのイベントは、あなたが言及したように、遅い動作をもたらすiframeによって捕捉されます。
jQueryのドラッグは、ドラッグ中のiframeの上に透明のdivを置く「iframeFix」オプションを提供します。ダイアログプラグインはこの修正を提供しません。 iframefixのjquery-ui codeを見ると、ダイアログのパフォーマンス上の問題を解決するためにそれを適応させることができました。あなたのダイアログドラッグのようなものを追加して、スタートをリサイズ/オプションは、トリックを行う必要が停止します。
$(selector).dialog({
dragStart: function (event, ui) {
$('iframe', this).each(function() {
$('<div class="ui-draggable-iframeFix" style="background: #FFF;"></div>')
.css({
width: '100%', height: '100%',
position: 'absolute', opacity: '1', zIndex: 1000, overflowX: 'hidden'
})
.css($(this).position())
.appendTo($(this).offsetParent());
});
},
dragStop: function (event, ui) {
$("div.ui-draggable-iframeFix").each(function() {
this.parentNode.removeChild(this); }); //Remove frame helpers
}
});
を私は透明のdivは、ダイアログでサイズが変更されますので、コードを変更したし、それが対ダイアログコンテナに関連して配置されています。 窓。それはより多くの微調整を必要とするかもしれない。理想的には、ダイアログプラグインを拡張してこれらのオプションを処理するだけです。私はいつかすぐにそれをやるでしょう。 jQueryのフォーラムで
This postは私にドラッグ可能なプラグインの修正へのポインタを提供します。
私はresizeStartとresizeStopを使用する必要がありましたが、今それが働いている:私はスムーズに私のモーダルダイアログのサイズを変更することができます。ありがとう、あなたのソリューションはエレガントで完璧に動作します。 – Germstorm
大きな助けと非常に素晴らしい解決策Mcanfield。私は実際にiframeのためにパフォーマンスと不安定な問題を見ていました。 +1 私の場合、最初にあなたのソリューションを試しましたが、あなたが提供したリンクも私を助け、問題は単純なiframeFixで解決されました:true –