Tengo un cuadro de búsqueda que por defecto no tiene enfoque automático. Así que estoy poniendo un evento de pulsación de tecla en el cuerpo, es decir, cuando se presiona la barra inclinada (/), el cuadro de búsqueda debe estar enfocado. Aunque al presionar una tecla, se enfoca el cuadro de búsqueda, pero también se coloca el "/" en el cuadro de búsqueda.
body.onkeypress = (e) => { if(e.which === 47) { searchInput.focus() } }¿Cómo debo arreglar esto?
Utilice preventdefault para evitar que se escriba '/'.
Asegúrese de hacer esto en su declaración if, de lo contrario, todos los caracteres se bloquearán.
body.onkeypress = (e) => { if(e.which === 47) { e.preventDefault() searchInput.focus() } }https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
<body id="body"> <input type="text" id="elementid" /> </body> <script> document.onkeypress = (e) => { if (e.which === 47) { document.getElementById("elementid").focus(); setTimeout(() => { str = document.getElementById("elementid").value = document .getElementById("elementid") .value.slice(0, -1); }); } }; </script>