From fcf99d0d09d63d0662290658ebc1e366bfc11bf0 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 7 Oct 2015 15:19:26 -0400 Subject: [PATCH] Check originalEvent.repeat --- .../javascripts/behaviors/quick_submit.js.coffee | 2 +- spec/javascripts/behaviors/quick_submit_spec.js.coffee | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/behaviors/quick_submit.js.coffee b/app/assets/javascripts/behaviors/quick_submit.js.coffee index dc9bd4d94cc..0748eed763c 100644 --- a/app/assets/javascripts/behaviors/quick_submit.js.coffee +++ b/app/assets/javascripts/behaviors/quick_submit.js.coffee @@ -14,7 +14,7 @@ # # $(document).on 'keydown.quick_submit', '.js-quick-submit', (e) -> - return if e.repeat + return if e.originalEvent.repeat return unless e.keyCode == 13 # Enter if navigator.userAgent.match(/Macintosh/) diff --git a/spec/javascripts/behaviors/quick_submit_spec.js.coffee b/spec/javascripts/behaviors/quick_submit_spec.js.coffee index 6beef28741b..fd20f674746 100644 --- a/spec/javascripts/behaviors/quick_submit_spec.js.coffee +++ b/spec/javascripts/behaviors/quick_submit_spec.js.coffee @@ -23,6 +23,11 @@ describe 'Quick Submit behavior', -> expect(@spies.submit).not.toHaveBeenTriggered() + it 'does not respond to repeated events', -> + $('input').trigger(keydownEvent(repeat: true)) + + expect(@spies.submit).not.toHaveBeenTriggered() + it 'disables submit buttons', -> $('textarea').trigger(keydownEvent()) @@ -62,4 +67,7 @@ describe 'Quick Submit behavior', -> else defaults = { keyCode: 13, ctrlKey: true } - $.Event('keydown', $.extend({}, defaults, options)) + args = $.extend({}, defaults, options) + originalEvent = new KeyboardEvent('keydown', args) + + $.Event('keydown', $.extend({}, args, {originalEvent: originalEvent}))