تقدم هذه المقالة بشكل أساسي المعلومات ذات الصلة حول تعطيل أحداث عجلة الماوس في JavaScript، ويمكن للأصدقاء المحتاجين الرجوع إليها.
نقوم عادةً بضبط توافق الإصدارات الأقل من IE عندما يتعلق الأمر بالأشياء المتوافقة، ولكن هذه المرة ليس لأن الإصدار الأدنى من المتصفح غير كفء. ذلك لأن Firefox قد ذهب بعيدًا ويتجاهل تمامًا تجربة المتصفحات الأخرى. يمكن لجميع المتصفحات باستثناء Firefox استخدام حدث MouseWheel للتعامل مع استجابة عجلة الماوس. ومع ذلك، فإن Firefox لا يدعم MouseWheel، ويستخدم DOMMouseScroll غير المنطقي، وهو غير متوافق مع المتصفحات الأخرى باستثناء Firefox. بمعنى آخر، للتعامل مع أحداث عجلة الماوس، يمكن لمتصفح فايرفوكس استخدام DOMMouseScroll فقط. يمكن لغير مستخدمي Firefox استخدام MouseWheel فقط. تختلف مبادئ هذين الحدثين، كما تختلف البيانات التي يعالجانها.
- varfirefox=navigator.userAgent.indexOf('Firefox')!=-1;
- Firefox?img.addEventListener('DOMMouseScroll',MouseWheel,false):
- (img.onmousewheel=MouseWheel);
- وظيفةMouseWheel(e){
- e=e||window.event;
- if(e.stopPropagation)e.stopPropagation();
- elsee.cancelBubble=true;
- if(e.preventDefault)e.preventDefault();
- elsee.returnValue=false;
- }
دعونا نلقي نظرة على الكود الكامل
- <!DOCTYPEhtml>
- <نمط>
- تمتد {font:14px/20pxMicrosoft Yahei؛}
- #عداد{
- العرض: 50 بكسل؛ الارتفاع: 20 بكسل؛
- الحدود:1pxsolid#CCC؛
- الخلفية: #F9F9F9؛
- الخط: 14px/20pxConsola؛
- محاذاة النص:مركز؛
- الهامش: 10 بكسل؛
- }
- </نمط>
- <span>استخدم عجلة الماوس لضبط القيمة</span><br/>
- <divid=counter>0</div>
- <النص البرمجي>
- // الحكم على المتصفح
- varisIE=navigator.userAgent.match(/MSIE(/d)/i);
- isIE=isIE?isIE[1]:undef;
- varisFF=/FireFox/i.test(navigator.userAgent);
- // احصل على العناصر
- varcounter=document.getElementById(counter);
- // حدث عجلة الماوس
- if(isIE<9)// تستخدم المتصفحات التقليدية حدث MouseWheel
- counter.attachEvent(onmousewheel,function(){
- // احسب المسافة التي تمر بها عجلة الماوس
- // تحتوي الشبكة الواحدة على 3 أسطر، كل سطر يحتوي على 40 بكسل، لذا قسّم على 120
- varv=event.wheelDelta/120;
- counter.innerHTML=counter.innerHTML*1+v;
- // حظر الطريقة الافتراضية للمتصفح
- returnfalse;
- });
- elseif(!isFF)// المتصفحات الحديثة، باستثناء Firefox، تستخدم أيضًا حدث MouseWheel
- counter.addEventListener(mousewheel,function(e){
- // احسب المسافة التي تمر بها عجلة الماوس
- varv=e.wheelDelta/120;
- counter.innerHTML=counter.innerHTML*1+v;
- // حظر الطريقة الافتراضية للمتصفح
- e.preventDefault();
- }،خطأ شنيع)؛
- else// يستخدم Firefox الغريب حدث DOMMouseScroll
- counter.addEventListener(DOMMouseScroll,function(e){
- // احسب المسافة التي تمر بها عجلة الماوس
- // تتكون الشبكة الواحدة من 3 أسطر، لكن يرجى ملاحظة أن الاختلاف هنا عن البكسل هو أنها قيمة سالبة
- varv=-e.detail/3;
- counter.innerHTML=counter.innerHTML*1+v;
- // حظر الطريقة الافتراضية للمتصفح
- e.preventDefault();
- }،خطأ شنيع)؛
- </script>
ما ورد أعلاه هو محتوى هذه المقالة بالكامل، وآمل أن تنال إعجابكم جميعًا.