Chosen: рд╡реНрд╣реАрд▓ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ jQuery-mousewheel рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдзреАрдорд╛ рдХрд░рдирд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдЬреВрди 2017  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: harvesthq/chosen

Jquery-mousewheel рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рджреЗрдЦреЗрдВ https://jsfiddle.net/4Lba076o/

рдХреНрд░реЛрдо рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдореЗрдВ рдареАрдХ рд╣реИред
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ (1px)ред

рдЕрд╕рд▓ рдореЗрдВ, рдорд╛рдЙрд╕ рд╡реНрд╣реАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ event.deltaFactor рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЧреИрд░-рдорд╛рдирдХ рд╣реИ)ред
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ jquery-mousewheel рдШрдЯрдирд╛ рдХреЛ {deltaY: -42} рд╕реЗ {deltaY: -1, deltaFactor: 42} рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдореВрд╕рд╡реНрд╣реАрд▓ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 1 рдХреЗ рдбреЗрд▓реНрдЯрд╛рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рд╕реНрдХреНрд░реЙрд▓ рд╣реИред рддреЛ 3 рдХреЗ рдбреЗрд▓реНрдЯрд╛ рдХрд╛ рдорддрд▓рдм рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдмрдЬрд╛рдп 3 рд▓рд╛рдЗрди рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ Selected.jquery.js рдореЗрдВ рд╣реИрдХ рдХрд░ рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛:

Chosen.prototype.search_results_mousewheel = function(evt) {
     /** Added the factor var and set it's value to 16 when scrolling is line scrolling */
      var delta, factor;
      if (evt.originalEvent) {
        factor = evt.originalEvent.deltaMode === 1 /** DOM_DELTA_LINE */ ? 16 : 1;
        delta = factor * evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail;
      }

      if (delta != null) {
        evt.preventDefault();
        if (evt.type === 'DOMMouseScroll') {
          delta = delta * 40;
        }
        return this.search_results.scrollTop(delta + this.search_results.scrollTop());
      }
    };

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдореВрд╕рд╡реНрд╣реАрд▓ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 1 рдХреЗ рдбреЗрд▓реНрдЯрд╛рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рд╕реНрдХреНрд░реЙрд▓ рд╣реИред рддреЛ 3 рдХреЗ рдбреЗрд▓реНрдЯрд╛ рдХрд╛ рдорддрд▓рдм рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдмрдЬрд╛рдп 3 рд▓рд╛рдЗрди рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ Selected.jquery.js рдореЗрдВ рд╣реИрдХ рдХрд░ рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛:

Chosen.prototype.search_results_mousewheel = function(evt) {
     /** Added the factor var and set it's value to 16 when scrolling is line scrolling */
      var delta, factor;
      if (evt.originalEvent) {
        factor = evt.originalEvent.deltaMode === 1 /** DOM_DELTA_LINE */ ? 16 : 1;
        delta = factor * evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail;
      }

      if (delta != null) {
        evt.preventDefault();
        if (evt.type === 'DOMMouseScroll') {
          delta = delta * 40;
        }
        return this.search_results.scrollTop(delta + this.search_results.scrollTop());
      }
    };

рддреВрдлрд╛рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреИрдЪ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?

@storeman рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдкреИрдЪ рдХреЗ рд╕рд╛рде рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЗрд╕реЗ рдЧреНрд░рдВрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд/рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдлрд┐рдХреНрд╕ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореЗрд░рд╛ рдлрд╝рд┐рдХреНрд╕ рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
https://github.com/tioga-tours/chosen/tree/faster-firefox-scroll

@рд╕реНрдЯреЛрд░рдореИрди
рдЕрд╕рд▓ рдореЗрдВ рдЗрд╕рдХрд╛ jQuery mousewheel рд╕реЗ рд╕реАрдзрд╛ рд╕рдВрдмрдВрдз рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛрдиреЛрдВ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ, рддреЛ jQuery mousewheel рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдорд╛рдЙрд╕ рдИрд╡реЗрдВрдЯ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред Jquery рдХреЗ рдмрд┐рдирд╛ mousewheel рд╕реНрдХреНрд░реЙрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ FF рдореЗрдВ рдареАрдХ рд╣реИред

рддреЛ рдореИрдВрдиреЗ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рджреЛрдиреЛрдВ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ - рдореИрдВ рдмрд╕ $(..).unmousewheel() рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд░рддрд╛ рд╣реВрдВ I рд░рдЬрд┐рд╕реНрдЯрд░ .chosen(); рдХреЛрдИ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ :)

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдерд╛
factor = evt.originalEvent.deltaMode === 1 /** DOM_DELTA_LINE */ ? 16 : 1;
рддреЛ рдореИрдВ рдЗрд╕реЗ рдмрджрд▓ рджреВрдВрдЧрд╛
factor = evt.originalEvent.deltaFactor || 1;

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

SFPink picture SFPink  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lordspace picture lordspace  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Jeckerson picture Jeckerson  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zerocrates picture zerocrates  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

scottdoc picture scottdoc  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ