2013-03-01 97 views
2

我有一個包含滑塊的iframe。滑塊允許用左/右箭頭鍵在圖片之間導航,但如果頁面上有水平滾動,則頁面也會通過左/右箭頭滾動。有沒有什麼辦法來防止頁面滾動,但不是在iframe中的幻燈片之間導航。 的代碼看起來是這樣的:防止滾動頁面的左/右按鈕

if (e.keyCode === 39) { 
    next(); 
} 
if (e.keyCode === 37) { 
    prev(); 
} 

感謝。

回答

1

你應該以終止事件的默認行爲適用e.preventDefault();

+0

這將防止頁面滾動和iframe中的導航,但我只需要在頁面上,但不是iframe – user1853892 2013-03-01 09:22:48

+0

,所以你根本不理解它。它所做的是禁用瀏覽器的默認行爲。爲了使框架滾動,你需要將next()和prev()添加到你觸發e.preventDefault()的同一代碼中。 – GottZ 2013-03-01 09:28:23

+0

我的理解很好,做的和你寫的完全一樣,但頁面仍然滾動。 – user1853892 2013-03-01 09:42:58

1

某種

$(document).on("keypress", function() { 
    if (e.keyCode === 39 || e.keyCode === 37) { 
     return 
    } 
}); 
+0

似乎沒有工作。我應該分別針對iframe和文檔嗎? – user1853892 2013-03-01 09:23:35

+0

您需要在外部文檔上使用$(document).on(「keypress」)函數,以及您在iframe中指定的另一個按鍵功能。此外iframe應該專注,所以按鍵可以在那裏工作 – Sergio 2013-03-01 09:27:33