Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Lösung des Inkompatibilitätsproblems des Eingabeänderungsereignisses von jQuery
Dieser Artikel dokumentiert die Entdeckung im Projekt, dass das Änderungsereignis im IE9 nicht sofort ausgelöst wird. Der Lösungsprozess für Kompatibilitätsprobleme ist auch während des Lösungsprozesses sehr detailliert wurden endlich gelöst. Es ist perfekt kompatibel mit allen gängigen Mainstream-Browsern.
Ein kürzlich entwickeltes Projekt erfordert, dass der Benutzer die Summe der Eingabemengen automatisch berechnet, nachdem er Mengen in mehrere Eingabefelder im WEB-Formular eingegeben hat Das Prinzip der Implementierung dieser Funktion ist einfach: Sie müssen nur die Summe imonchange-Ereignis von INPUT berechnen und das Ergebnis dem angegebenen INPUT-Feld zuweisen lautet wie folgt:
$("input.syxcost").change(function(){ computeReceivedsyxcost(); } function computeReceivedsyxcost(){ //计算加总 var syxcost=0; $("input.syxcost"). each (function(){ var cost=parse Float ($(this).val()); if (!isNaN(cost)) syxcost=syxcost + cost; }); $("#receivedsyxcost").val(syxcost); //显示最终结果 }Ich dachte, das würde das Problem lösen. In Google Chrome ist es zwar in Ordnung, aber in IE 9 habe ich festgestellt, dass nach der Eingabe des Betrags in INPUT das Änderungsereignis nicht erfolgt Ich habe sofort im Internet nach einem Kompatibilitätsproblem gesucht und es gibt keine Möglichkeit, es selbst zu schreiben Fokus, holen Sie sich den aktuellen WERT und koexistieren Sie. Geben Sie das benutzerdefinierte
$("input.syxcost").focus(function(){ $(this).attr("data-oval",$(this).val()); //将当前值存入自定义属性 }).blur(function(){ var oldVal=($(this).attr("data-oval")); //获取原值 var new Val=($(this).val()); //获取当前值 if (oldVal!=newVal) { computeReceivedsyxcost(); //不相同则计算 } });Nach wiederholter Überprüfung wird es in allen Browsern normal angezeigt, wodurch das Kompatibilitätsproblem gelöst ist!
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Lösung des Inkompatibilitätsproblems des Eingabeänderungsereignisses von jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!