Показать сообщение отдельно
  #15 (permalink)  
Старый 05.04.2018, 16:06
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,736

Сообщение от sortarray
Это какая-то непонятная для меня хрень. Тут все от рук зависит
Что непонятного?
Вы в проекте все обработчики на 1 элемент вешаете или для каждого будете создавать отдельное хранилище и пушить в него хандлеры?
Ваше решение работоспособно до тех пор, пока я не захочу объявить обработчик через свойство, а не через ваш велосипед.
foo.storage = []
foo.onclick = function(){var self = this; foo.storage.forEach(function(f){f.call(self)})}
with(foo){
 storage.push(function(){alert(this.innerHTML)})
 storage.push(function(){alert(this.id)})
 storage.push(function(){alert("fuck addEventListener")})
}
foo.onclick=()=>{
alert(prompt('Угадайте сколько раз вылезет alert',0)==1);
};


Сообщение от sortarray
В моем можно удалять обычным способом, по индексу
Никаких ограничений.
В вашем случае точно также нужно хранить индекс записанного обработчика.
Сообщение от sortarray
сигнатуре функции
Пример можно?

Сообщение от sortarray
Но от нативных тормозов хороший код не избавит
Он их не допустит, имхо. Можете привести пример тормозящего addEventListener'а?
Ответить с цитированием