setTimeout и Объект события
Здравствуйте. Столкнулся с проблемой при работе setTimeout и объектом события.
var handler = function(e) {
e.currentTarget; // элемент на котором вызвано событие
setTimeout(function(){
e.currentTarget; // null
},3000);
};
elem.addEventListener("mousedown", handler, false);
Как корректно обратиться к объекту события в данном случае? |
LoGao,
сохранить в переменную? |
Спасибо. А почему null в currentTarget? Все остальное вроде передается правильно кроме этого свойства.
|
LoGao,
Вы какой-то фреймворк используете? React например грешит тем что в хендлер кидает синтетические события. Ну, или например ваше вью при перерисовки разрушает дом элемент и вставляет полностью новый дом элемент. Сам себя поправлю. Обычно использую в таких случаях target, а не currentTarget. currentTarget становится null из-за bubble event, т.к. событие всплывает с конкретного элемента до document при этом на каждом элементе во время всплытия меняется currentTarget. В итоге currentTarget на событие становится null. Когда вызывается setTimeout событие уже "всплыло". |
Логично. Спасибо за ответы.
|
| Часовой пояс GMT +3, время: 20:26. |