अद्यतन कार्य ठीक के रूप में डेविड ने सुझाव दिया (देखें नीचे):फ़ायरफ़ॉक्स + jQuery माउसव्हील स्क्रॉल घटना बग
की जगह
$('.scrollMe').bind("mousewheel DOMMouseScroll", ...)
$('.scrollMe').bind("mousewheel DOMMouseScroll MozMousePixelScroll", ...)
मूल पोस्ट के साथ
फ़ायरफ़ॉक्स 16.0.2 (नवीनतम) "mousewheel/DOMMouseScroll" ईवेंट बाध्य करते समय एक समस्या दिखाता है। माउस पॉइंटर मेरे लक्षित div के शीर्ष पर होने पर मूसहेल के साथ स्क्रॉल करना विंडो को स्क्रॉल करने का कारण बनता है- जबकि मैं स्पष्ट रूप से यह नहीं चाहता हूं।
मैंने प्रचार आदि को रोकने के लिए कई विधियों को जोड़ने का प्रयास किया लेकिन कुछ भी काम नहीं करता है।
Javascript कोड:
$(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;
});
});
कार्रवाई में यह देखने के लिए, नीचे दिए गए लिंक पर क्लिक करें jsFiddle। उदाहरण पृष्ठ पर, माउस पॉइंटर को लाल बक्से के साथ div के अंदर रखें और अपने माउस की स्क्रोलव्हील का उपयोग करें। फ़ायरफ़ॉक्स पहली बार मूल विंडो को स्क्रॉल करेगा (अप्रत्याशित रूप से), जबकि अन्य ब्राउज़र नहीं करते हैं।
विचित्र कि फ़ायरफ़ॉक्स एक बार आप बाध्य तत्व पर ईवेंट को सक्रिय व्यवहार दोहराया नहीं जाता है, जिसका अर्थ यह पेज स्क्रॉल करना बंद कर देता है। हालांकि, बाद में पृष्ठ को मैन्युअल रूप से स्क्रॉल करने के बाद यह फिर से व्यवहार करता है और पुनः प्रयास करें।
मैंने आईई 9 और क्रोम में भी इसका परीक्षण किया है लेकिन उन समस्याओं में इस समस्या का पता नहीं लगा सका (जिसका अर्थ है कि वे अनपेक्षित रूप से विंडो को स्क्रॉल नहीं करते हैं), इसलिए मैं अनुमान लगा रहा हूं कि यह फ़ायरफ़ॉक्स-विशिष्ट है (प्रत्येक प्लगइन को अक्षम भी फ़ायरफ़ॉक्स आदि में)
क्या यह वास्तव में फ़ायरफ़ॉक्स में एक बग है (और यदि ऐसा कोई क्रॉस-ब्राउज़र हैक है जो चाल कर सकता है)? या, यदि आप पेज की विंडो स्क्रॉल के बिना मूसहेल घटना को पकड़ने के समान प्रभाव को प्राप्त करने के किसी भी अन्य समाधान के बारे में जानते हैं, तो कृपया उत्तर देने के लिए स्वतंत्र महसूस करें!
संकेत: event.originalEvent.wheelDelta – CoffeJunky
के बजाय एफएफ में दिशा के लिए उपयोग event.originalEvent.deltaY मेरा दिन सहेजा गया! थम्स अप! –