Ich habe von Anfang an ein Eingabefeld, mit dem ich Berechnungen durchführen möchte, die bei Änderung des Wertes sofort aktualisiert werden. Dann möchte ich in der Lage sein, mehr Eingabefelder hinzuzufügen und sie die Werte ändern, wenn sie ihren Inhalt redigieren, ohne einen Aktualisierungsknopf danach zu drücken.Eingangswechsel trigger zu oft
Dieser Code tut dies, aber jetzt feuert es die Berechnung Funktion mehrmals, wenn ich mehr Eingabefelder hinzufügen und dann eines der ersten Eingabefelder bearbeiten. Ich könnte Zeile 4-6 (von unten) entfernen, um die zusätzliche Funktion auszulösen, aber dann werden die hinzugefügten Eingabefelder nicht im Handumdrehen funktionieren. Irgendwelche Ideen, wie man das löst?
HTML:
<input type="number">
<table>
<tr>
<td id="linkedEventList">
<ol>
</ol>
<button id="btn">Add input fields</button>
</td>
</tr>
</table>
JQuery/Javascript:
jQuery(function($) {
$('input').on('input', function(e) {
calculate();
});
});
function calculate() {
alert("Checking how many times this function runs");
}
$(document).ready(function() {
$("#btn").click(function() {
$("#linkedEventList ol").append("<li ><input type='text'></input></li>");
$('input').on('input', function(e) {
calculate();
});
});
calculate();
});
https://jsfiddle.net/Marbled/mtp9vh3a/1/