0

任意のタイプの jQuery UI コントロール (つまり、jQuery スライダー コントロール) を使用している場合、iFrame を通過中にマウスアップが離されると、コントロールはアクティブなままになります。アクティブとは、マウスを上げたことがないということです。

1 つの領域で iFrame を使用するアプリを作成しているため、これが大きな問題になっています。この問題を解決する方法はありますか?

4

3 に答える 3

0

iframeFix ヘルパーを試しましたか? iframe の上に透明な画面を配置します。ドラッグ/ドロップ可能なUIで使用しました。スライダーコントロールについてはわかりません。

http://api.jqueryui.com/draggable/#option-iframeFix

これが機能しない場合 (コードを表示できない場合)、問題は iframe との相互作用が原因であると推測されます。iframe にマウスオーバーすると、ブラウザー ウィンドウ自体からマウスを離したように、親 DOM のイベント ハンドラーが混乱します。

iframe の上に独自の透明レイヤーを配置しようとしましたか?

于 2012-11-12T12:47:05.263 に答える
0

基本的なタイマー ソリューションを選択し、他の方法を試しましたが、スライダーが遅くなるように見えました

// fix for jq-ui slider not releasing outside of iframe
$(document).on('mouseout', 'body', function(){
        outOfFrame = true;
});

$(document).on('mouseover', 'body', function(){
        outOfFrame = false;
});

setInterval(function(){

    if(outOfFrame) {
         $('#wrap').trigger('mousedown').trigger('mouseup');
    }

}, 1500);
于 2013-07-26T09:02:38.323 に答える
0

このスレッドは古いですが、私は最近自分で問題を抱えていました.

$("#wrapper").mouseleave(function (){
   $('#wrapper').trigger('mousedown').trigger('mouseup');
})
于 2016-03-04T11:59:57.887 に答える