2012-05-23 14 views
6
$('.news-wrap').mouseenter(function(event) { 
    $(window).mousewheel(function(event) { 
     event.preventDefault(); 
    }); 
}); 

El desplazamiento de la ventana está deshabilitado, cada uno dejo el elemento. ¿Cómo puedo habilitar el desplazamiento con el evento mouseleave?jQuery deshabilitar y habilitar el desplazamiento

Respuesta

5

¿Te gusta?

$('#abs').bind('mousewheel DOMMouseScroll', function(e) { 
    var scrollTo = null; 
    if (e.type == 'mousewheel') { 
     scrollTo = (e.originalEvent.wheelDelta * -1); 
    } else if (e.type == 'DOMMouseScroll') { 
     scrollTo = 1000 * e.originalEvent.detail; 
    } 

    if (scrollTo) { 
     e.preventDefault(); 
     $(this).scrollTop(scrollTo + $(this).scrollTop()); 
    } 
});​ 
8

He escrito un plugin de jQuery para manejar esto: $.disablescroll.

Deja de desplazarse desde la rueda del mouse, el movimiento táctil y botones como Página abajo.

$('.news-wrap').mouseenter(function() { 

    $(window).disablescroll(); 

}).mouseleave(function() { 

    $(window).disablescroll("undo"); 

}); 

Espero que alguien encuentre esto útil.

+0

Gracias, ¡esto es realmente útil! –

+0

¡Me alegro, de nada! : D –

+0

Cuando estaba arrastrando elementos hacia arriba o hacia abajo y alcancé el punto de desplazamiento de la ventana, el mouse y el elemento que se podía arrastrar se desacoplaron. Probé este complemento y funcionó como un amuleto ... un buen complemento –

Cuestiones relacionadas