2011-07-05 21 views
6

Grafik çizmek için protovis kitaplığını (http://mbostock.github.com/protovis/) kullanıyorum. İşte http://jsfiddle.net/zobel/brEAD/Neden Firefox tüm fare tekerleği olaylarını javascript uygulamasına aktarmıyor?


benim sorundur: Ben Fare tekerleğini kullanırken Firefox altında, bazı fare veya uzaklaştırmak için
Birisi ona bir göz almak istemesi halinde kullanıyorum kod yüklenen Tekerlek olayları benim uygulama tarafından değil Firefox tarafından yakalanmış. Sonuç olarak, yakınlaştırma ve sayfa kaydırmalarının bir karışımını elde ettim. Bunu, kaydırma çubuğu görünene kadar Firefox penceresini daraltarak test edebilirsiniz.
Opera altında bu sorun oluşmaz. Neden oluyor ve nasıl çözebilirim?
Çok teşekkürler şimdiden.

+2

Lütfen jsfiddle.net adresindeki sorunun kaynağını gösteren tüm demoların bir demosu yayınlayın, tüm kaynağın bir zip dosyasına bir link yerine – Alnitak

+0

Teşekkürler Alnitak, işte buradaki jsfiddle http://jsfiddle.net/zobel/brEAD/ – zobel

cevap

3

JavaScript kitaplığında bir hata (veya basit bir ihmal) olabilir. Kütüphanenin, DOMMouseScroll etkinliğinde preventDefault() olması gerekir.

Etkinlik kabarcıklandırması sayesinde, bunu, grafiğin ana düğümünün olduğu herhangi bir DOM nesnesinde yapabilirsiniz. o addEventListener desteklemediği,

document.body.addEventListener('DOMMouseScroll', function(e){ 
    e.preventDefault(); 
}, false); 

Bu IE eski sürümleri çalışmaz, ancak nokta olsun: Burada basit bir örnek. Başka bir genel amaçlı JavaScript kitaplığı (jQuery gibi) kullanmanızı ve olay işleyicinizi ayarlamak için bunu kullanmanızı öneririz.

+0

Teşekkürler, bu sorunu çözdü. – zobel

İlgili konular