Сообщение от 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'а?