0
Как можно передавать события между mousedown и mouseup конкретно? В моем событии mousedown я создаю круг и добавляю его в DOM, в моей мыши я хочу оживить круг. Я надеялся сделать это, ссылаясь на узел без прикрепления идентификатора, если это возможно.Передача данных между событиями мыши
Вот отрывок из моего кода:
// Mouse down
hitArea.addEventListener('mousedown', function(e) {
var el = new createCircle();
mask.appendChild(el);
TweenMax.set(el, {
transformOrigin: '50% 50%',
x: e.clientX - hitDimensions.left,
y: e.clientY - hitDimensions.top
});
});
// Mouse up
hitArea.addEventListener('mouseup', function(e) {
// Reference to el needed
animateCircle(el, e);
});
Вы можете просмотреть мой Незавершенный код здесь: http://codepen.io/getreworked/pen/VjzyLL
К сожалению, не так легко, потому что каждый клик создает новый круг, ссылка будет перезаписана. Я мог бы создать массив и каждый раз нажимать новый элемент массива, но потом мне нужно отслеживать элементы массива, чтобы добавлять/удалять их по мере продвижения. Я надеялся на более простое решение. –
Это, вероятно, не проблема, потому что 'mousedown' и' mouseup' являются пара-событиями. Если я ошибаюсь, вы можете объяснить, какие побочные эффекты это может вызвать? Постскриптум кажется, что он отлично работает на вашем кодексе –
Проблема с этим подходом заключается в том, что он теряет ссылку. Поэтому при удалении элемента из DOM он будет ссылаться только на текущий элемент. Вы заметите, что элементы будут удалены из группы #mask в SVG, один круг всегда останется в группе. Он должен быть пустым. Как ни странно, все остальные новые элементы удаляются, хотя я ожидал, что только текущий будет удален –