Mi piacerebbe avere un JavaScript pulito e piacevole per l'evento mousewheel, supportando solo l'ultima versione di browser comuni senza codice legacy per versioni obsolete, senza alcun framework JS.Evento della rotellina del mouse nei browser moderni
L'evento della rotellina del mouse è spiegato correttamente here. Come semplificarlo per le attuali versioni più recenti dei browser?
Non ho accesso a tutti i browser per testarlo, quindi caniuse.com mi è di grande aiuto. Ahimè, la ruota del mouse non è menzionata lì.
Sulla base del commento di Derek, ho scritto questa soluzione. È valido per tutti i browser?
someObject.addEventListener("onwheel" in document ? "wheel" : "mousewheel", function(e) {
e.wheel = e.deltaY ? -e.deltaY : e.wheelDelta/40;
// custom code
});
Chrome e IE supporto [ 'MouseWheelEvent'] (https://developer.mozilla.org/en-US/docs/DOM/MouseWheelEvent), mentre supporti di Firefox (https [WheelEvent'']: // developer.mozilla.org/en-US/docs/DOM/WheelEvent). Per ascoltare attraverso il browser, vedere [qui] (https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/wheel#Listening_to_this_event_across_browser). –
* "È valido per tutti i browser?" *. Non puoi testarlo da solo? –
Aggiunto al punto di Derek. In questi casi dovresti valutare davvero le compatibilità del browser. Puoi farlo con Modernizr (http://www.modernizr.com). Ti renderà la vita molto più semplice :) –