Ich brauche den Text nur in der ausgewählten Zelle geändert werden. Das erste Mal ist alles gut. Wenn ich es in einer anderen Zelle versuche, ändert sich der Text auch so, wie er sollte, aber gleichzeitig auch in der vorherigen, und so weiter.Was ist mit diesem Handler falsch? JS
//change text
var changeText = function(e) {
var inputChangeText, applyChanges, blockTd;
inputChangeText = document.getElementById('changeText');
applyChanges = document.getElementById('applyToChanges');
inputChangeText.value = e.target.textContent;
applyChanges.addEventListener('click', function() {
e.target.textContent = inputChangeText.value;
}, false);
}
//allow to change
function eventsInTable() {
var checkBoxChanges = document.getElementById('changes');
var table = document.getElementById('tableCinema');
if (checkBoxChanges.checked) {
table.addEventListener('click', changeText, false);
} else {
table.removeEventListener('click', changeText, false);
alert("You haven't access to change");
}
}
<table id="tableCinema">
<tr>
<th>Type</th>
</tr>
<tr>
<td>1</td>
<td>*</td>
<td>*</td>
</tr>
</table>
Change: <input id="changes" type="checkbox" name="" onclick="eventsInTable()"><br> Get text for change: <input id="changeText" type="text" name="" value="">
<button id="applyToChanges">Apply</button>
Sie halten die Zuhörer auf die 'Apply' Schaltfläche Hinzufügen, aber nie den alten Hörer entfernen. – Barmar