Escribí el evento keyup en un archivo js externo y se hace referencia en el archivo html.
$('input[name=restaurant]').keyup(function(event){ console.log("keyup"); });Lo extraño es que no se activará a menos que lo incluya en la función de documento listo.
$(document).ready(function(){ $('input[name=restaurant]').keyup(function(event){ console.log("keyup"); }); });El evento keyup funcionó bien fuera de la función de documento listo antes. No sé cuál es el problema ahora.
Porque en el momento en que se ejecutó su secuencia de comandos, el elemento aún no estaba en el DOM. Por lo tanto, $('input[name=restaurant]') no selecciona ningún elemento y no se adjunta ningún detector de eventos.
$(document).ready() espera que cada elemento en el DOM termine de cargarse, luego ejecuta la devolución de llamada.