При запуске приведенного ниже кода, я получаю сообщение об ошибке: «Ошибка типа: Не удается прочитать свойство 'currentTarget' из неопределенного".
Это потому, что у меня currentTarget упоминал 2 места?
Когда запускается только 1 функция «deleteFood», она не выдает никаких ошибок.
<script>
let cB = document.getElementsByClassName("deleteFoodClass");
var anyBoxesUnchecked = [];
for (i = 0; i < cB.length; i++) {
cB[i].addEventListener('click', checkBoxMarked);
}
function checkBoxMarked(arg) {
var trueBoolean = "true";
let elm = arg.currentTarget;
let marked = elm.getAttribute('data-IngredientMarked');
let id = elm.getAttribute('data-ingredientID');
if(marked === true){
anyBoxesUnchecked.push(id); // ... and adding them to the array.
} else
anyBoxesUnchecked.splice(id);
}
function deleteFood(arg) {
let el = arg.currentTarget;
let id = el.getAttribute('data-ingredientID');
console.log(id); // used for debugging
var url = '/api/Ingredients/';
var urlQuery = url.concat(id);
for (i = 0; i < anyBoxesUnchecked.length; i++) {
fetch(urlQuery,
{
method: 'GET',
body: undefined,
headers: {
"Content-type": "application/json; charset=UTF-8"
}
})
//.then(res => res.json())
.catch(error => console.error('Error', error))
.then(response => console.log('Sucess On Deletion', response));
}
}
</script>
EDITED: выдает следующие ошибки при попытке отладки: Изображение сообщения отладки
РЕШЕНИЕ: выяснилось, что - по какой-то причине, учитывая, что checkBoxMarked никогда не вызывался - я попытался заменить его на "function ()", что решило проблему.