Показать сообщение отдельно
  #8 (permalink)  
Старый 14.09.2022, 14:04
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Вот так можно без всякого массива
function my_func_addAllEventListeners_callback(element_for_eventlistener)  
{
    return function my_func_event(event)
    {
               console.log("my_func_event");
               controller.abort()  // послать сигнал - снимаем все обработчики
     }
}
     
 
 
//---------------------------------------------------------------------------------
 
 
const controller = new AbortController();  
  
let element_for_eventlistener = document;  
 
     
 for (const key in element_for_eventlistener)
     {
 
         if(key.startsWith('on'))
         {
        element_for_eventlistener.addEventListener(
                key.slice(2), 
                my_func_addAllEventListeners_callback(element_for_eventlistener),
               { signal: controller.signal } // снять обработчик, когда придет сигнал от контролера.
          ); 
         }
     }

Последний раз редактировалось voraa, 14.09.2022 в 14:21.
Ответить с цитированием