Actualmente estoy usando el enfoque en un elemento de formulario específico para saber cuándo un usuario ha insertado una pestaña o ha hecho clic en un campo diferente.Detecta si el enfoque se debe a una pulsación de tecla o un clic
Necesito saber esto porque una llamada ajax se inicia inmediatamente después de esto y llena varios campos diferentes (por ejemplo, ingresa un código postal válido, busca una base de datos y vuelve con la ciudad).
Ahora, mi pregunta, la llamada ajax recibe una respuesta html y al cargarla, hace que la forma pierda su foco actual.
Necesito una forma de guardar ese enfoque y restablecerlo después de la llamada ajax.
Hasta ahora, he obtenido la navegación para el tipo de trabajo. Se rompe mucho y también interfiere con la carga de otras cosas en la página (por ejemplo, ventanas de diálogo). Entonces, me imagino que tiene que haber una mejor manera de hacerlo, y es por eso que estoy aquí. Déjeme saber si usted necesita más información. El código está abajo.
¡Todo lo mejor!
$('.DZipCode').focusout(function() {
var ZipCode = $('.DZipCode').val();
$.ajax({ // create an AJAX call...
async: false,
type: "POST", // GET or POST
url: "/Home/SelectZipCodeDataDestination", // the file to call`
data: { zipCode: ZipCode },
success: function (response) { // on success..
$(":input").focus(function() {
var prevFocus;
prevFocus = $(this).attr("id");
$('#quotetab').html(response);
$('#'+prevFocus).focus();
// });
} // end of success
}); // end of .ajax
});
Tomó un poco más para ponerlo en marcha, pero la dirección era definitivamente buena. Por algún motivo, la respuesta de la llamada ajax restablecía mi variable tabPressed a falso. Terminé simplemente almacenando su valor dentro de una variable secundaria dentro de la función de salida. ¡Gracias por la ayuda! –