From 2814bc19f0e63e5992ec3bfca9ee268de9fa72b5 Mon Sep 17 00:00:00 2001
From: Tom Konda <tom.konda.dev@gmail.com>
Date: Fri, 11 Jul 2025 15:31:39 +0900
Subject: [PATCH] Replace event.which with event.key and event.code

---
 core/misc/ajax.js                                 | 4 ++--
 core/modules/media_library/js/media_library.ui.js | 2 +-
 core/modules/system/js/system.modules.js          | 2 +-
 core/modules/user/js/user.permissions.js          | 2 +-
 core/modules/views_ui/js/views-admin.js           | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index d7c776a70652..c5a35d33f660 100644
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -745,8 +745,8 @@
     // #ajax['keypress'] is TRUE. On a text-type widget a space should always
     // be a space.
     if (
-      event.which === 13 ||
-      (event.which === 32 &&
+      event.key === 'Enter' ||
+      (event.code === 'Space' &&
         element.type !== 'text' &&
         element.type !== 'textarea' &&
         element.type !== 'tel' &&
diff --git a/core/modules/media_library/js/media_library.ui.js b/core/modules/media_library/js/media_library.ui.js
index 10fe212f4a57..c7423ea4ab0f 100644
--- a/core/modules/media_library/js/media_library.ui.js
+++ b/core/modules/media_library/js/media_library.ui.js
@@ -59,7 +59,7 @@
         .on('keypress', (e) => {
           // The AJAX link has the button role, so we need to make sure the link
           // is also triggered when pressing the space bar.
-          if (e.which === 32) {
+          if (e.code === 'Space') {
             e.preventDefault();
             e.stopPropagation();
             $(e.currentTarget).trigger('click');
diff --git a/core/modules/system/js/system.modules.js b/core/modules/system/js/system.modules.js
index 5a166d84f1f6..a0d6f59f48cf 100644
--- a/core/modules/system/js/system.modules.js
+++ b/core/modules/system/js/system.modules.js
@@ -91,7 +91,7 @@
       }
 
       function preventEnterKey(event) {
-        if (event.which === 13) {
+        if (event.key === 'Enter') {
           event.preventDefault();
           event.stopPropagation();
         }
diff --git a/core/modules/user/js/user.permissions.js b/core/modules/user/js/user.permissions.js
index e8a84607c592..aa2ad7157eab 100644
--- a/core/modules/user/js/user.permissions.js
+++ b/core/modules/user/js/user.permissions.js
@@ -187,7 +187,7 @@
       }
 
       function preventEnterKey(event) {
-        if (event.which === 13) {
+        if (event.key === 'Enter') {
           event.preventDefault();
           event.stopPropagation();
         }
diff --git a/core/modules/views_ui/js/views-admin.js b/core/modules/views_ui/js/views-admin.js
index 6a8558533999..255359a311f5 100644
--- a/core/modules/views_ui/js/views-admin.js
+++ b/core/modules/views_ui/js/views-admin.js
@@ -515,7 +515,7 @@
 
     // Trap the ENTER key in the search box so that it doesn't submit the form.
     this.$searchBox.on('keypress', (event) => {
-      if (event.which === 13) {
+      if (event.key === 'Enter') {
         event.preventDefault();
       }
     });
-- 
GitLab