diff --git a/.eslintrc.js b/.eslintrc.js
index 2c0894535d06a1cfa34217713d8d159ae1c0a86d..acec42340a90ecf6ffb1c9c49437bc5829407216 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,7 +1,10 @@
-module.export = {
+module.exports = {
   extends: "eslint:recommended",
   env: { "browser": true },
-  globals: { "$": false },
+  globals: {
+    "$": false,
+    "jQuery": false
+  },
   rules: {
     // errors
     "block-scoped-var": "error",
diff --git a/themes/bootstrap3/js/lightbox.js b/themes/bootstrap3/js/lightbox.js
index 5cfcf60d1829ff3a3b45ec62bb8eaa3e6f29f279..f39030f98e7b71632dc1da19385ab5603780e44b 100644
--- a/themes/bootstrap3/js/lightbox.js
+++ b/themes/bootstrap3/js/lightbox.js
@@ -77,6 +77,8 @@ VuFind.register('lightbox', function Lightbox() {
    *
    * data-lightbox-ignore = do not submit this form in lightbox
    */
+  var _constrainLink; // function declarations to avoid style warnings
+  var _formSubmit;    // about circular references
   function _update(content) {
     if (!content.match) {
       return;
@@ -200,7 +202,7 @@ VuFind.register('lightbox', function Lightbox() {
    * data-lightbox-post = post data
    * data-lightbox-title = Lightbox title (overrides any title the page provides)
    */
-  function _constrainLink(event) {
+  _constrainLink = function constrainLink(event) {
     if (typeof $(this).data('lightboxIgnore') != 'undefined' || this.attributes.href.value.charAt(0) === '#') {
       return true;
     }
@@ -232,7 +234,7 @@ VuFind.register('lightbox', function Lightbox() {
    *
    * data-lightbox-ignore = do not handle clicking this button in lightbox
    */
-  function _formSubmit(event) {
+  _formSubmit = function formSubmit(event) {
     // Gather data
     var form = event.target;
     var data = $(form).serializeArray();