任意のタイプの jQuery UI コントロール (つまり、jQuery スライダー コントロール) を使用している場合、iFrame を通過中にマウスアップが離されると、コントロールはアクティブなままになります。アクティブとは、マウスを上げたことがないということです。
1 つの領域で iFrame を使用するアプリを作成しているため、これが大きな問題になっています。この問題を解決する方法はありますか?
iframeFix ヘルパーを試しましたか? iframe の上に透明な画面を配置します。ドラッグ/ドロップ可能なUIで使用しました。スライダーコントロールについてはわかりません。
http://api.jqueryui.com/draggable/#option-iframeFix
これが機能しない場合 (コードを表示できない場合)、問題は iframe との相互作用が原因であると推測されます。iframe にマウスオーバーすると、ブラウザー ウィンドウ自体からマウスを離したように、親 DOM のイベント ハンドラーが混乱します。
iframe の上に独自の透明レイヤーを配置しようとしましたか?
基本的なタイマー ソリューションを選択し、他の方法を試しましたが、スライダーが遅くなるように見えました
// 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);
このスレッドは古いですが、私は最近自分で問題を抱えていました.
$("#wrapper").mouseleave(function (){
$('#wrapper').trigger('mousedown').trigger('mouseup');
})