diff options
Diffstat (limited to 'ext/client.js')
| -rw-r--r-- | ext/client.js | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/ext/client.js b/ext/client.js index 95308eec..74b246f3 100644 --- a/ext/client.js +++ b/ext/client.js @@ -23,16 +23,23 @@ class Client {          this.popupOffset = 10;          this.enabled     = false; -        $('body').append(this.popup); +        $('body').append(this.popup).click(() => this.hidePopup());          chrome.runtime.onMessage.addListener(this.onMessage.bind(this));          window.addEventListener('mousemove', this.onMouseMove.bind(this)); +        window.addEventListener('keydown', this.onKeyDown.bind(this));          getState((state) => this.setEnabled(state === 'enabled'));      } +    onKeyDown(e) { +        if (e.keyCode === 16 || e.charCode === 16) { +            this.hidePopup(); +        } +    } +      onMouseMove(e) { -        if (!this.enabled || !e.shiftKey) { +        if (!this.enabled || (!e.shiftKey && e.which !== 2)) {              return;          } @@ -53,7 +60,7 @@ class Client {                  this.hidePopup();              } else {                  range.setEnd(range.endContainer, range.startOffset + length); -                renderTemplate({defs: results.slice(0, 5)}, 'defs.html', (html) => { +                renderTemplate({defs: results}, 'defs.html', (html) => {                      this.popup.html(html);                      this.showPopup(range);                  }); |