Quiero las teclas cortas Alt+O para buscar un archivo en mi página web. El evento "Keydown" puede manejar este problema perfectamente en Chrome, sin embargo, en Firefox no sucede nada a menos que haga clic en la página. ¿Hay alguna solución a mi problema?
$(document).ready(function(){ $("body").keydown(function(e){ var keyCode = (e.which) ? e.which : window.e.keyCode; if(e.altKey) if(keyCode == 79){ //Alt+O = openFile e.preventDefault(); $("#xmlFile:hidden").trigger('click') } }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="file" id="xmlFile" style="display: none;" >No puede usar el gatillo de esta manera, esta respuesta lo ayuda a comprender. El disparador jQuery no funciona en Firefox
prueba esto:
$(document).ready(function(){ $("body").keydown(function(e){ var keyCode = (e.which) ? e.which : window.e.keyCode; if(e.altKey) if(keyCode == 79){ //Alt+O = openFile e.preventDefault(); document.getElementById('file-input').click(); } }); }); <input id="file-input" type="file" name="name" style="display: none;" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>