GÜNCELLEME (aşağıya bakınız):firefox + jQuery Fare tekerleğinin kaydırma David tarafından önerildiği gibi düzeltmeyi Çalışma olay hata
yerine
$('.scrollMe').bind("mousewheel DOMMouseScroll", ...)
$('.scrollMe').bind("mousewheel DOMMouseScroll MozMousePixelScroll", ...)
ORİJİNAL POST ile
Firefox 16.0.2 (en son), "mousewheel/DOMMouseScroll" olayını bağlarken bir sorun olduğunu gösteriyor. Fare işaretçisi hedefli div'umun üstündeyken fare tekerleği ile kaydırma yapmak, pencerenin de kaydırma yapmasına neden olur; oysa bunu istemiyorum.
Yayılmasını vb. Durdurmak için birkaç yöntem eklemeyi denedim, ancak hiçbir şey işe yaramıyor gibi görünüyor.
Javascript kodu:
$(document).ready(function() {
$('.scrollMe').bind("mousewheel DOMMouseScroll", function(e) {
e.stopImmediatePropagation();
e.stopPropagation();
e.preventDefault();
var delta = parseInt(e.originalEvent.wheelDelta || -e.originalEvent.detail);
$(this).empty();
return false;
});
});
eylem olarak görmek için aşağıdaki jsFiddle bağlantıyı takip edin. Örnek sayfada, fare imlecini divun içine kırmızı kutularla yerleştirin ve farenizin kaydırma tekerini kullanın. Firefox, diğer tarayıcıların yapmadığı sırada ana pencereyi ilk kez (beklenmedik bir şekilde) kaydırır.
Özgü size bağlı elemana olayı bir kez Firefox yeniden sayfayı kaydırma durur, yani davranışı tekrarlamak olmamasıdır. Ancak, sayfayı daha sonra el ile sonra kaydırdıktan sonra yeniden deneyin.
Bunu IE9 ve Chrome'da da test ettim, ancak bu sorunu tarayıcılarda (yani pencereyi beklenmedik bir şekilde kaydırmamaları) algılayamadım, bu yüzden Firefox'a özgü olduğunu tahmin ediyorum (ayrıca her eklenti devre dışı bırakıldı) firefox vb.)
Bu gerçekten bir firefox'ta bir hata mıdır (ve eğer işe yarayacak bir çapraz tarayıcı hack varsa)? Ya da, sayfanın pencere kaydırma olmadan mousewheel olayı yakalamak aynı etkiyi elde etmek için başka bir çözüm biliyorsanız, lütfen cevaplamaktan çekinmeyin!
ipucu: benim günüm Kaydedilen yerine event.originalEvent.wheelDelta – CoffeJunky
ait ff yöndeki kullanım event.originalEvent.deltaY! Başparmak havaya! –