diff --git a/app/ui.js b/app/ui.js index 83233a7c1f60004ff28b97298794e5c4f0a4c2a4..6c706fa8c03e049d235b41f98741289887455084 100644 --- a/app/ui.js +++ b/app/ui.js @@ -1479,15 +1479,21 @@ var UI; return; } - // Allow clicking on links - if (event.target.tagName === "A") { - return; - } - - // And form elements, except standard noVNC buttons - if ((event.target.form !== undefined) && - !event.target.classList.contains("noVNC_button")) { - return; + // Only allow focus to move to other elements that need + // focus to function properly + if (event.target.form !== undefined) { + switch (event.target.type) { + case 'text': + case 'email': + case 'search': + case 'password': + case 'tel': + case 'url': + case 'textarea': + case 'select-one': + case 'select-multiple': + return; + } } event.preventDefault();