From 2d8f02596c95dabb07be9658d60f816681e2b75e Mon Sep 17 00:00:00 2001 From: Joe Petrakovich Date: Thu, 30 Jan 2020 15:19:19 -0600 Subject: [PATCH 1/2] Including the original event on enter key press and passing it along the final triggers to close and select. --- src/js/select2/core.js | 2 +- src/js/select2/results.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/js/select2/core.js b/src/js/select2/core.js index 831691f81f..3e0b2ce3ee 100644 --- a/src/js/select2/core.js +++ b/src/js/select2/core.js @@ -335,7 +335,7 @@ define([ evt.preventDefault(); } else if (key === KEYS.ENTER) { - self.trigger('results:select', {}); + self.trigger('results:select', evt); evt.preventDefault(); } else if ((key === KEYS.SPACE && evt.ctrlKey)) { diff --git a/src/js/select2/results.js b/src/js/select2/results.js index c00f77ddab..e3a8df6a33 100644 --- a/src/js/select2/results.js +++ b/src/js/select2/results.js @@ -325,7 +325,7 @@ define([ $highlighted.trigger('mouseup'); }); - container.on('results:select', function () { + container.on('results:select', function (evt) { var $highlighted = self.getHighlightedResults(); if ($highlighted.length === 0) { @@ -335,9 +335,12 @@ define([ var data = Utils.GetData($highlighted[0], 'data'); if ($highlighted.attr('aria-selected') == 'true') { - self.trigger('close', {}); + self.trigger('close', { + originalEvent: evt + }); } else { self.trigger('select', { + originalEvent: evt, data: data }); } From 586ff5c6506606e35a1d3317c4415c1c0afcb400 Mon Sep 17 00:00:00 2001 From: Joe Petrakovich Date: Thu, 6 Feb 2020 09:24:15 -0600 Subject: [PATCH 2/2] Passing the original event via the originalEvent property within a object instead of raw. --- src/js/select2/core.js | 4 +++- src/js/select2/results.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/js/select2/core.js b/src/js/select2/core.js index 3e0b2ce3ee..56fad840dc 100644 --- a/src/js/select2/core.js +++ b/src/js/select2/core.js @@ -335,7 +335,9 @@ define([ evt.preventDefault(); } else if (key === KEYS.ENTER) { - self.trigger('results:select', evt); + self.trigger('results:select', { + originalEvent: evt + }); evt.preventDefault(); } else if ((key === KEYS.SPACE && evt.ctrlKey)) { diff --git a/src/js/select2/results.js b/src/js/select2/results.js index e3a8df6a33..0f085b3deb 100644 --- a/src/js/select2/results.js +++ b/src/js/select2/results.js @@ -336,11 +336,11 @@ define([ if ($highlighted.attr('aria-selected') == 'true') { self.trigger('close', { - originalEvent: evt + originalEvent: evt.originalEvent }); } else { self.trigger('select', { - originalEvent: evt, + originalEvent: evt.originalEvent, data: data }); }