iFrame和鼠标交互

时间:2012-11-12 12:35:01

标签: jquery iframe mouseup

当使用任何类型的jQuery UI控件(即:jQuery滑块控件)时,如果在通过iFrame时释放mouseup,控件将保持活动状态。通过主动,我的意思是你从未嘲笑过。

我正在构建一个在1个区域使用iFrame的应用,因此这已经成为一个大问题。有没有办法解决这个问题?

3 个答案:

答案 0 :(得分:0)

您是否尝试过iframeFix助手?它在iframe上放置一个透明屏幕。我使用了draggable / droppable UI。滑块控件不确定。

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

如果这不起作用(没有能够看到代码)我的猜测是问题是因为与iframe的交互。当您将鼠标悬停在iframe上时,它会与父DOM中的事件处理程序混淆,就像将鼠标移出浏览器窗口本身一样。

您是否尝试过将自己的透明图层放在iframe上?

答案 1 :(得分: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);

答案 2 :(得分:0)

这个帖子已经过时但我最近遇到了这个问题,这就解决了我在Internet Explorer上iframe中的jquery ui滑块的问题。

$("#wrapper").mouseleave(function (){
   $('#wrapper').trigger('mousedown').trigger('mouseup');
})