Soy bastante nuevo en Javascript, así que decidí hacer un script de usuario de tecla de acceso directo para m.youtube. Funciona, pero cuando uso ese atajo (Ctrl+Z para deshacer el texto) en un campo de texto para escribir un comentario, esto sucede.

No pude encontrar ninguna ayuda con una búsqueda en Google o tratando de encontrarlo en los foros, podría estar usando los términos incorrectos para buscarlo.
$(function(){ document.onkeydown = function(evt) { evt = evt || window.event; if (evt.ctrlKey && evt.keyCode == 90) { alert("Ctrl-Z"); } }; });Objetivo: no quiero que el atajo se ejecute en un campo de texto cuando presiono la tecla de atajo.
Puede verificar si el objetivo del evento es un tipo de entrada. Prueba esto:
$(function() { document.onkeydown = function(evt) { evt = evt || window.event; if (evt.ctrlKey && evt.keyCode == 90) { if (!(evt.target instanceof HTMLTextAreaElement) && !(evt.target instanceof HTMLInputElement)) { alert("Ctrl-Z"); } } }; }); function check () { document.onkeydown = function(evt) { evt = evt || window.event; console.log(evt.target) if (evt.ctrlKey && evt.keyCode == 90) { if (!(evt.target instanceof HTMLTextAreaElement) && !(evt.target instanceof HTMLInputElement)) { alert("Ctrl-Z"); } } }; } check() <textarea id="w3review" name="w3review" rows="4" cols="50"> hello </textarea> <input type="text" > Si el objetivo del evento no es del tipo de entrada, alert("Ctrl-Z");