2013-03-01 2 views
2

У меня есть iframe, который содержит слайдер. Ползунок позволяет перемещаться между изображениями с помощью стрелок влево/вправо, но если на странице есть горизонтальная прокрутка, страница также прокручивается с помощью стрелок влево/вправо. Есть ли способ предотвратить прокрутку страницы, но не навигацию между слайдами в iframe. код выглядит следующим образом:Запретить кнопки влево/вправо от прокрутки страницы

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

Спасибо.

ответ

1

следует применять e.preventDefault(); для того, чтобы прекратить поведение по умолчанию события.

+0

Это предотвратит как прокрутку на странице, так и навигацию в iframe, но мне нужно только на странице, но не iframe – user1853892

+0

, чтобы вы этого не понимали. это означает, что вы отключите поведение браузера по умолчанию. для того, чтобы сделать прокрутку кадра, вам нужно добавить next() и prev() в тот же код, где вы запускаете e.preventDefault(); – GottZ

+0

Я хорошо понимал и делал то же самое, что и вы, но страница все еще прокручивается. – user1853892

1

своего рода

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

Кажется, что не работает. Должен ли я настраивать iframe и документ отдельно? – user1853892

+0

Вам нужна функция $ (document) .on ("keypress") вашего внешнего документа и другая функция нажатия клавиш, указанная в iframe. Также iframe должен быть сфокусирован, поэтому keypress может работать там – Sergio

Смежные вопросы