在鼠标事件之间传递数据

时间:2016-07-14 07:55:38

标签: javascript events mouse

如何在mousedown和mouseup之间传递事件?在我的mousedown活动中,我创建了一个圆圈并将其添加到DOM中,在我的鼠标中我想要为圆圈设置动画。我希望通过引用节点而不附加ID来实现这一点,如果可能的话。

这是我的代码片段:

// 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

1 个答案:

答案 0 :(得分:1)

你可以使用闭包:

var el;
hitArea.addEventListener('mousedown', function(e) {
  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) {

  if(el)
     animateCircle(el, e);

});