Sono abbastanza nuovo per jQuery ancora e sto cercando di raccogliere modi per aiutare a ottimizzare il mio codice. Attualmente sto lavorando a un'applicazione in cui sto chiamando alcuni metodi di calcolo ogni volta che qualcuno lascia un campo (.blur). Voglio solo chiamare questi metodi quando vengono soddisfatti determinati criteri (come valore! = 0). Ho 9 campi dove sto calcolando e controllando attualmente.Come si condensano più funzioni jQuery in 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
};
so che è possibile condensare queste funzioni verso il basso in un più generico (utilizzando una classe CSS come selettore invece di un ID), ma io proprio non riesco a capirlo, come io sono ancora nuovo in jQuery/Javascript in generale. Qualsiasi aiuto sarebbe molto apprezzato. Grazie!
È possibile saltare istanziare 'currentValue' come un oggetto (' var CurrentValue = {} ') e solo fare' var CurrentValue; ' –
Grazie per il chiarimento lì. Rimuoverò certamente l'istanziazione in più. – Delebrin