2013-11-22 1 views
0

Я хочу, чтобы родительский элемент не прокручивался при использовании колеса мыши, когда он фокусировался на iframe. Это происходит только при достижении предела прокрутки iframe. Это так раздражает. Я нашел аналогичный Q & A, но не с колесиком мыши. Полосы прокрутки не вызывают прокрутку родителя, а только колесо мыши.Держите родителя от прокрутки, в то время как iframe имеет фокус

+0

У вас есть контроль над кодом внутри iframe? Или загружен какой-то внешний веб-сайт? – user2988142

+0

Да, у меня есть контроль над кодом внутри iframe. – Medeno

ответ

1

Вы можете установить обработчик на событиях «колесо» и «колесико» в iframe. Внутри обработчика событий вы должны определить направление движения, и если верх или низ страницы достигнуто (зависит от направления) - отмените действие по умолчанию для события.

JQuery псевдо-код:

$(document).on('wheel mousewheel', function(e) { 
    var direction = getWheelDirection(); 


    if (direction == 'bottom') { 
    if (...bottom of page reached...) return false; 
    } else { 
    if (...top of page reached...) return false; 
    } 

}); 
0

В качестве альтернативы можно установить "парить" обработчик на IFRAME и переключение тела свойство "переполнение".

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