2008-12-05 17 views
8

Bir sayfada gömülü bir tuval uygulaması üzerinde çalışıyorum. Elimden geldiğince çizimde fare tekerleği ile zum yapabiliyorsunuz ancak maalesef bu sayfa bir makalenin parçası olduğu için sayfayı kaydırıyor.Pencere fare tekerleğini nasıl kaydırırım ...?

Bir dom elemanında çok hızlı hareket ettiğimde pencerede fare kaydırma işlemini önlemek mümkün mü ?!

cevap

9

Fare tekerleğini (Not Gecko) için bir olay işleyicisi ekleyin/DOMMouseScroll (Not IE) ve varsayılan eylemi engellemek (bu içeriği kaydırmak için ise): Bu yardımcı olur

 
if (element.addEventListener) 
    element.addEventListener("DOMMouseScroll", function(event) { 
     event.preventDefault(); 
    }, false); 
else 
    element.attachEvent("mousewheel", function() { 
     return false; 
    }) 

Umut!

+1

Teşekkür ederiz. Sen bir efsanesin! –

+0

ve öğe * gerekli * kaydırılabilir içeriğe sahip bir iframe ise? sonra ne? Bu durumda, bu hile benim için çalışmadı, bunu iframe nesnesinde yaptı. – vsync

0

Bu eski olduğunu biliyorum, ancak bu yine de googlers için yararlı olabilir.

Bunu yapmak için bir jQuery eklentisi yazdım: $.disablescroll.

Sadece fare tutamlarını değil, normalde kaydırma işlemini tetikleyecek dokunma ve tuşa basma olaylarını da ele alır.

// disable all scrolling: 
$(window).disablescroll(); 

// enable scrolling again: 
$(window).disablescroll("undo"); 
İlgili konular