Todavía soy bastante nuevo en jQuery y estoy tratando de encontrar maneras de ayudar a optimizar mi código. Actualmente estoy trabajando en una aplicación en la que estoy llamando a algunos métodos de cálculo cada vez que alguien deja un campo (.blur). Solo quiero llamar a estos métodos cuando se cumplen ciertos criterios (como value! = 0). Tengo 9 campos donde estoy calculando y comprobando actualmente.¿Cómo puedo condensar varias funciones jQuery en una?
$(document).ready(function() {
var currentValue = {};
$("#txtValue1").focus(function() {
currentValue = $(this).val();
}
).blur(function() {
$("#txtValue1").valid();
if (currentValue != $("#txtValue1").val() && $("#txtValue1").val() != "") {
CallCalculations();
}
});
$("#txtValue2").focus(function() {
currentValue = $(this).val();
}
).blur(function() {
$("#txtValue2").valid();
if (currentValue != $("#txtValue2").val() && $("#txtValue2").val() != "") {
CallCalculations();
}
});
});
function CallCalculations() {
// Do Stuff
};
sé que es posible condensar estas funciones hacia abajo en una más genérica (usando una clase CSS como un selector en lugar de un ID) pero simplemente parece que no puede deducirlo mientras todavía estoy nuevo en jQuery/Javascript en general. Cualquier ayuda sería muy apreciada. ¡Gracias!
Puede omitir la instancia de 'currentValue' como un objeto (' var currentValue = {} ') y simplemente haga' var currentValue; ' –
Gracias por la aclaración allí. Definitivamente eliminaré la instanciación adicional. – Delebrin