2011-12-31 17 views
4

なぜこれが機能しないのかわかりません。内部にiframeを持つdivがあります。 divにjQuery resizable()を適用し、ifResizeオプションをiframeに設定しました。jQuery resizable()オブジェクトが戻ってこない

$("#my-frame-wrapper").resizable({ 
    alsoResize : '#myframe' 
}); 

は基本的に、私はインラインフレームに直接)(サイズ変更可能を実装しようとしていたが、それは動作しませんので、私はこの方法を試してみました:これは、それが実装されています方法です。

問題がある:私がdiv要素を伸ばす場合

は、それが(リサイズする)動作しますが、それは(私が戻ってドラッグする場合)撤回したくありません。代わりに、それは完全に制御不能になり(Chromeで)、マウスの移動ごとに上下にバウンドし始めます(追加する必要があります)。

紛失しているものはありますか?他の誰かがこの問題を経験しましたか?

+0

jq-ui.ccsをロードしましたか? –

答えて

4

iframe要素内のマウスイベントが消えないため、ドラッグするとJQuery UIが反応しませんでした。

iframeがマウスイベントをキャプチャするのを防ぐために、ドラッグ開始時にマスクdivを追加できます。

HTML:

<div id="my-frame-wrapper"> 
    <iframe id="my-frame" src="http://jsfiddle.net/"></iframe> 
    <div id="mask"></div> 
</div> 

CSS:

#my-frame-wrapper { 
    width:200px; 
    height:100px; 
    position:relative; 
} 
#my-frame { 
    width:100%; 
    height:100%; 
} 
#mask { 
    position:absolute; 
    top:0; 
    left:0; 
    margin:0; 
    padding:0; 
    width:100%; 
    height:100%; 
    display:none; 
} 

JS:

$(function(){ 
    $("#my-frame-wrapper").resizable({ 
     start: function(event, ui) { 
      $("#mask").css("display","block"); 
     }, 
     stop: function(event, ui) { 
      $("#mask").css("display","none"); 
     } 
    }); 
}); 

jsfiddleを参照してください。

+0

SUPER !!!ありがとうございました。それは動作します – Sthe

+0

これは動作しますが、私はそれを完全に理解していません。なぜdivマスクでiframeがイベントをキャプチャできないのか説明してください。 – vanval

関連する問題