2010-03-31 6 views
3

J'ai un élément flash sur ma page avec lequel vous interagissez en utilisant la molette centrale de la souris. La page est longue. Donc, lorsque vous faites défiler avec la molette de la souris, il interagit avec l'élément Flash et fait défiler la fenêtre du navigateur.Désactiver le défilement du navigateur avec le bouton central de la souris

Est-il possible de désactiver le défilement du navigateur lorsque l'élément Flash est actif?

Répondre

5

Vous pouvez utiliser:

document.body.style.overflow=allowScroll?"":"hidden"; 

Où allowScroll est un booléen.

+0

Très simple, je aurais dû y penser moi-même. Maintenant, je suis paresseux! Donc, pour terminer le script, lorsque vous désactivez le défilement du navigateur, faites simplement glisser allowScroll = true/false. Merci! –

12
<!-- disables browser mouse scrolling --> 
<script type="text/javascript"> 
if(window.addEventListener){ 
    window.addEventListener('DOMMouseScroll',wheel,false); 
} 

function wheel(event) 
{ 
    event.preventDefault(); 
    event.returnValue=false; 
} 
window.onmousewheel=document.onmousewheel=wheel; 
</script> 

je "extrait", cette fonction de Flash MouseWheelTrap qui se trouve ici: http://code.google.com/p/mousewheeltrap/

+0

Je préfère cette solution à celle acceptée car elle permet aussi de bloquer le défilement en faisant glisser le bouton du milieu. – Kos

2
window.onscroll = function() { 
    document.body.scrollTop = 0; 
} 
Questions connexes