−47
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
dom.listener('animationend', function(){
alert('ЗАЕБОК');
});
Object.prototype.listener = function(type, callback){
let token = 'listener' + rand(1000, 9999);
this.setClass(true, token);
this.addEventListener(type, done);
function done(event){
if(event.path[0].className.indexOf(token) == -1)return;
this.setClass(false, token);
this.removeEventListener(type, done);
isCallback(callback);
}
};
Надо было по окончанию анимации запустить функцию. Обычный listener также слушал дочерние элементы, а не только тот, на который я его повесил, в результате, все шло по писте.
А вот мой glistener вешает на нужный X элемент класс вида 'listener49512', и вызывает callback, если событие произошло именно у X элемента с этим классом, а не где-то еще.
p.s. setclass, iscallback - мои говнотулы, потому что jq и прочее дерьмо для слабаков!
Запостил:
nwton,
10 Марта 2017
https://developer.mozilla.org/en-US/docs/Web/API/Element/id? Не, не слышали.
Сжечь и закопать.