2011-09-08 40 views
0

我解釋你的問題:
我在頁面中有一個隱藏的iframe。 點擊我通過ajax加載位於iframe內的div內的一些內容。
指向腳本的鏈接位於iframe的源內部。
我通過ajax加載的內容應該是可滾動的,我使用基於UI滑塊和可拖動(jScrollbar)的自定義滾動條。
我將自定義滾動條初始化爲ajax加載函數的回調,但它只能部分工作:
鼠標滾輪功能非常完美,但我無法通過單擊鼠標滾動鼠標。問題jquery-ui draggable()內部框架

這裏是代碼:

$(function(){ 
    store_frame();//write the frame intop the page 
    $('.submenu').show(); 
    $('a#click').click(function(){ 
     $("#iframe_sub").contents().find('#text_box .wrap').load('presenza.html', function(){ 
      $("#iframe_sub").contents().find('#text_box .wrap').fadeIn(fade_time, function(){ 
       $("#iframe_sub").contents().find('.jScrollbar').jScrollbar({ 
         allowMouseWheel: 'true' 
       }); 
      }); 
     }); 
    }); 
}); 

什麼想法?

+0

我也嘗試了隨機可拖動的div和我有同樣的問題。 – junray

回答

0

我有同樣的問題,問題是在jQuery代碼中添加事件的方式。第一次點擊之後,jQuery應該在當前文檔上添加一個mousemove事件,但是它的錯誤是因爲它使用了document.addEventListener。此文檔引用框架之外,它應該是這樣的:

var iframe = TheCurrentFrame; //how to access that?? 
    iDoc = iframe.contentWindow  // sometimes glamorous naming of variable 
     || iframe.contentDocument; // makes your code working :) 
if (iDoc.document) { 
    iDoc = iDoc.document; 
    iDoc.body.addEventListener('mousemouve', eventHandler); 
}; 

我需要的jQuery的正確版本,知道如何藉助iframe打交道時正確地將事件。我試圖在我的框架中附加一個自定義事件,當觸發時會調用jscrollbar或滑塊(然後從框架中)。但似乎我不能從框架外觸發任何東西。讓我知道如果你發現東西