JavaScript製品計算機における再計算を伴う編集
それでは、前のレッスンで説明した再計算が実行されるように、
関数 allowEdit を改良してみましょう。
現時点であなたの関数のコードは、 おおよそ以下のようになっているはずです:
function allowEdit(td) {
td.addEventListener('dblclick', function() {
let text = td.textContent
td.textContent = '';
let input = document.createElement('input');
input.value = text;
input.focus();
td.appendChild(input);
input.addEventListener('keydown', function(event) {
if (event.key == 'Enter') {
td.textContent = this.value;
}
});
});
}
価格のセルと数量のセルに対して再計算を実行するコードを追加しましょう:
function allowEdit(td) {
td.addEventListener('dblclick', function() {
let text = td.textContent
td.textContent = '';
let input = document.createElement('input');
input.value = text;
input.focus();
td.appendChild(input);
input.addEventListener('keydown', function(event) {
if (event.key == 'Enter') {
td.textContent = this.value;
if (td.classList.contains('price') || td.classList.contains('amount')) {
// 再計算を実行します
}
}
});
});
}
価格セルまたは数量セルが変更されたときに、
列 cost の購入コストが変更され、
また合計金額の再計算が実行されるように、
不足しているコード部分を書き加えてください。