2012-11-12 144 views
0

當使用任何類型的jQuery UI控件(即:jQuery滑塊控件)時,如果在傳遞iFrame時釋放mouseup,則控件將保持活動狀態。積極的,我的意思是,它就像你從來沒有錯過。iFrame和鼠標交互

我正在構建一個在1區域使用iFrame的應用程序,因此這已成爲一個大問題。有沒有辦法解決這個問題?

回答

0

你試過iframeFix幫手嗎?它在iframe上放置一個透明屏幕。我用它可拖放/可拖放的用戶界面。不確定滑塊控件。

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

如果這不起作用(短的能看到的代碼)我的猜測是,這個問題是因爲使用iframe的相互作用。當您將鼠標懸停在iframe上時,它會與父DOM中的事件處理程序混淆,如將鼠標移出瀏覽器窗口本身。

你有沒有試過把你自己的透明層放在iframe上?

+0

謝謝 - 我要看看,回來後 – Andrew

+0

我認爲iframefix只能用於拖動,調整大小等工作...我試着用滑塊,並沒有幫助。 – Andrew

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); 
0

此線是舊的,但我最近有問題我自己,這就是解決了我的問題Internet Explorer中的iframe中的jQuery UI滑塊。

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