/** Здесь мы передаём функцию clicker как параметр, не вызывая её */
document.getElementById('A').addEventListener('click', clicker1);
// Функция clicker1() будет вызываться когда нажимаем на кнопку A
function clicker1(event1){
let target1 = event1.target;
// Здесь мы вызываем функцию nonClicker(), которая возвращает функцию clicker2(), которую передаём параметром к addEventListener
document.getElementById('B').addEventListener('click', nonClicker(event1, target1));
}
// Эта функция nonClicker() вызывается не по клику на B, но вызывается по клику на A
function nonClicker(event1,target1){
// Функция clicker2() будет вызываться при клике на кнопку b
return function clicker2(event2){
// В этой функции доступны все три переменные
console.log(event1,event2,target1);
}
}