Estoy tratando de actualizar un div dinámicamente con un googlemap basado en un código postal que se ingresa. Funciona bien si el usuario se aleja del cuadro de entrada (código postal de id), pero si presiona Intro, no desenfoca el campo. Tengo una variación de esto trabajando con onkeyup, pero un evento llama al otro y es un desastre. ¿Es posible iniciar la función si ocurre cualquiera de los eventos?
$(documento).listo(función() {
$("#Código Postal").blur(función() {
$("#dynamic").load('googlemap.php', {código postal: $('#ZipCode').val(), distancia máxima: $("input[name='MaxDistance']:checked").val () },
función() {
});
});
}) ;
Gracias por cualquier sugerencia.
Puedes hacerlo:
$(document).ready(function() { $("#ZipCode").bind('blur keyup',function(e) { if (e.type === 'blur' || e.keyCode === 13) // do your stuff here }); }); Sintaxis : event.keyCode
Valor devuelto : un número, que representa un código de carácter Unicode o el código clave Unicode
Después de volver a leer su pregunta, creo que lo que quiere hacer es, cuando el cuadro de texto (es decir #ZipCode ) está borroso, actualice el elemento googlemap; cuando se presiona la tecla Intro, desenfoca el cuadro de texto, que a su vez actualiza el elemento googlemap.
En su comentario, mencionó que no desea que la tecla Intro envíe el formulario. Es posible que también deba manejar el evento de keypress de tecla.
$(document).ready(function() { $("#ZipCode").blur(function() { $("#dynamic").load('googlemap.php', {zipcode: $('#ZipCode').val(), maxdistance: $("input[name='MaxDistance']:checked").val() }, function() { }); }); $("#ZipCode").keyup(function(e) { if (e.which == 13) // Enter key $(this).blur(); }); // prevent the Enter key from submitting the form $('#ZipCode').keypress(function(e) { return e.which != 13; }); }) ;Podrías hacer esto:
$(document).ready(function() { $("#ZipCode").bind('blur keyup', function(e) { if(e.type === 'keyup' && e.keyCode !== 10 && e.keyCode !== 13) return; $("#dynamic").load('googlemap.php', {zipcode: $('#ZipCode').val(), maxdistance: $("input[name='MaxDistance']:checked").val() }, function() { }); }); }) ;