diff options
| -rw-r--r-- | ext/mixed/js/display.js | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 75ee339a..302a6280 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -29,6 +29,7 @@ class Display {          this.audioCache = {};          $(document).keydown(this.onKeyDown.bind(this)); +        $(document).on('wheel', this.onWheel.bind(this));      }      onError(error) { @@ -202,6 +203,25 @@ class Display {          }      } +    onWheel(e) { +        const event = e.originalEvent; +        const handler = () => { +            if (event.altKey) { +                if (event.deltaY < 0) { // scroll up +                    this.entryScrollIntoView(this.index - 1, true); +                    return true; +                } else if (event.deltaY > 0) { // scroll down +                    this.entryScrollIntoView(this.index + 1, true); +                    return true; +                } +            } +        }; + +        if (handler()) { +            event.preventDefault(); +        } +    } +      async termsShow(definitions, options, context) {          try {              window.focus(); |