2014-09-11 49 views
1

我的頁面中有幾個iFrame,無法在平板電腦,手機設備和Firefox中滾動瀏覽iframe。爲了解決這個問題,我在iframe上放置了一個固定的div,並且有下面的代碼來複制指針位置(點擊發生時)並觸發iframe內部的點擊,現在固定div允許我滾動iFrame並點擊工作。但是,當在桌面上,即使點擊工作得益於這個技巧,懸停也不起作用,因此按鈕和懸停的其他任何東西都變得無法實現。有沒有更好的解決方案來處理iFrame上的觸摸滾動問題?在iPad和iPhone上滾動瀏覽iframe

這是我使用的複製和鼠標的位置轉移到iframe和執行點擊(富=在iframe的固定格)代碼:

$('.foo').click(function(event){ 
    var iframe = $('.frameClass').get(0); 
    var iframeDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; 

    // Find click position (coordinates) 
    var x = event.offsetX; 
    var y = event.offsetY; 

    // Trigger click inside iframe 
    var link = iframeDoc.elementFromPoint(x, y); 
    var newEvent = iframeDoc.createEvent('HTMLEvents'); 
    newEvent.initEvent('click', true, true); 
    link.dispatchEvent(newEvent); 
}); 

回答