всем привет.
только учу js, пишу простейший код, аналогичный radiobutton, т.е.
активным элементом становится тот, в который тыкнули мышкой,
а остальные становятся неактивными:
// рабочий код
var title = document.getElementsByClassName('accordion-title');
for (var i = 0; i < title.length; i++) {
title[i].addEventListener('click', function () {
if (!(this.classList.contains('active'))) {
for (var i = 0; i < title.length; i++)
title[i].classList.remove('active');
this.classList.add('active');
}
})
}
дальше я хотел вынести функцию обработки в неанонимную функцию,
но возникла проблема с передачей в нее элемента, на котором кликнули мышкой:
// нерабочий код
var title = document.getElementsByClassName('accordion-title');
for (var i = 0; i < title.length; i++) {
title[i].addEventListener('click', onClickSimple());
}
function onClickSimple() {
if (!(this.classList.contains('active'))) {
for (var i = 0; i < elements.length; i++)
title[i].classList.remove('active');
this.classList.add('active');
}
}
подскажите, как для второго варианта в тело внешней функции передать активный
элемент (аналог this в первом варианте)