更簡單的解決:
給你的上級機構(在本例中"bodyID"
)一個ID,然後在您的啓用和禁用滾動功能只需添加:
function disable_scroll()
{
document.getElementById("bodyID").style.overflow="hidden";
}
function enable_scroll()
{
document.getElementById("bodyID").style.overflow="auto";
}
基本上,因爲您不希望父頁面滾動,而不是針對單個事件,只需在光標位於iframe
的內部時禁用滾動父頁面。簡單,跨瀏覽器,更直接。
事實上,你可以消除90%的代碼,而只是使用
function disable_scroll()
{
document.getElementById("bodyID").style.overflow="hidden";
}
function enable_scroll()
{
document.getElementById("bodyID").style.overflow="auto";
}
document.getElementById("miframe").onmouseenter = disable_scroll;
document.getElementById("miframe").onmouseleave = enable_scroll;
你可以使用document.body
,但運行陷入混亂,當你與JSBin或喜歡玩,有一個半打(確定,三,但仍然)documents
和bodies
。
檢查修改JSBIN here。
不錯!沒想到那個!我會一直選擇一個更簡單的解決方案。不過,我想知道爲什麼其他解決方案在ff中不起作用。 – Rested
說實話,我也是。我自己有點好奇。 –