Ein kürzlich entwickeltes Projekt erfordert, dass, nachdem der Benutzer Mengen in mehrere Eingabefelder in einem WEB-Formular eingegeben hat, die Summe der eingegebenen Mengen automatisch berechnet und im angegebenen Eingabefeld angezeigt wird. Diese Funktion ist einfach. Das heißt, Sie müssen nur die Summe im Onchange-Ereignis von INPUT berechnen und das Ergebnis dem angegebenen INPUT-Feld zuweisen. Der Code lautet wie folgt:
Ich dachte, das würde das Problem lösen. In IE 9 habe ich jedoch festgestellt, dass das Änderungsereignis nicht sofort ausgelöst wird Viele Leute sagen, dass dieses Problem besteht und ich es aufgrund der Implementierung nicht selbst schreiben muss. Meine Idee ist: Wenn die Eingabe den Fokus erhält, holen Sie sich den aktuellen Wert und speichern Sie ihn im benutzerdefinierten Attribut Wenn INPUT den Fokus verliert, ermitteln Sie, ob der aktuelle WERT mit dem Wert im zuvor angepassten Attribut übereinstimmt. Wenn nicht, bedeutet dies, dass der WERT geändert wurde und geändert werden muss Andernfalls wird es ignoriert. Der Implementierungscode lautet wie folgt:
Nach wiederholter Überprüfung wird es in allen Browsern normal angezeigt, wodurch das Kompatibilitätsproblem gelöst wird!