diff --git a/app/assets/javascripts/discourse/views/quote-button.js.es6 b/app/assets/javascripts/discourse/views/quote-button.js.es6 index da9ba9040c8..681523377bc 100644 --- a/app/assets/javascripts/discourse/views/quote-button.js.es6 +++ b/app/assets/javascripts/discourse/views/quote-button.js.es6 @@ -1,3 +1,11 @@ +// we don't want to deselect when we click on buttons that use it +function ignoreElements(e) { + const $target = $(e.target); + return $target.hasClass('quote-button') || + $target.closest('.create').length || + $target.closest('.reply-new').length; +} + export default Ember.View.extend({ classNames: ['quote-button'], classNameBindings: ['visible'], @@ -45,11 +53,7 @@ export default Ember.View.extend({ .on("mousedown.quote-button", function(e) { view.set('isMouseDown', true); - const $target = $(e.target); - // we don't want to deselect when we click on buttons that use it - if ($target.hasClass('quote-button') || - $target.closest('.create').length || - $target.closest('.reply-new').length) return; + if (ignoreElements(e)) { return; } // deselects only when the user left click // (allows anyone to `extend` their selection using shift+click) @@ -58,6 +62,8 @@ export default Ember.View.extend({ !e.shiftKey) controller.deselectText(); }) .on('mouseup.quote-button', function(e) { + if (ignoreElements(e)) { return; } + view.selectText(e.target, controller); view.set('isMouseDown', false); })