diff --git a/public/src/client/chats.js b/public/src/client/chats.js index 98833e1e92..ecb724b3c9 100644 --- a/public/src/client/chats.js +++ b/public/src/client/chats.js @@ -235,15 +235,14 @@ define('forum/chats', [ } }); mousetrap.bind('up', function (e) { - if (e.target === components.get('chat/input').get(0)) { + const inputEl = components.get('chat/input'); + if (e.target === inputEl.get(0) && !inputEl.val()) { // Retrieve message id from messages list const message = components.get('chat/messages').find('.chat-message[data-self="1"]').last(); if (!message.length) { return; } const lastMid = message.attr('data-mid'); - const inputEl = components.get('chat/input'); - messages.prepEdit(inputEl, lastMid, ajaxify.data.roomId); } }); diff --git a/public/src/client/chats/messages.js b/public/src/client/chats/messages.js index e3bccacdca..b17a8f772b 100644 --- a/public/src/client/chats/messages.js +++ b/public/src/client/chats/messages.js @@ -176,6 +176,11 @@ define('forum/chats/messages', [ autoCompleteEl.destroy(); } } + textarea.on('keyup', (e) => { + if (e.key === 'Escape') { + finishEdit(); + } + }); editEl.find('[data-action="cancel"]').on('click', finishEdit); editEl.find('[data-action="save"]').on('click', function () {