2

我在 Meteor 中有一个单页应用程序。

我想跟踪是否将小书签(以<a>包含图像的标签的形式)拖到书签栏。

我正在使用 mousedown、mousemove 和 mouseup 的组合来尝试跟踪拖动。

Template.myTemplate.events = {  
  'mousedown': function(){    
    Session.set('dragging', true)   
    console.log('drag starts')
  },  
  'mouseup': function(){  
    if (Session.get('dragging') == true && event.y < 10){   
      // The result i want  
    }  
    Session.set('dragging', false)  
    console.log('drag stops')  
  }  
}

拖动开始得很好,但是在鼠标离开<a>标签后不久,它似乎就停止了,并且mouseup没有按应有的方式注册。

如果我return false之后mouseupmousedown- 即,逻辑会正常工作。在 mousedown 之后,我可以将鼠标移动得更远更宽,并注意event.y< 10 并且没有障碍 - 但是代码没有达到用户能够拖动<a>标签的预期效果。

你有什么想法?

4

2 回答 2

0
'mousedown': function(){

你在模板上做 mousedown,它应该在a元素上。

所以,改为这样做:

'mousedown a': function(){

或者在a这里选择正确的元素。

于 2012-06-24T23:33:08.917 回答
0

抱歉耽搁了,但我现在只能看到kk

但是您可以从银行获取您的事件数据mousedown(我相信您已经这样做了),并添加mousemove您想要删除事件的位置。这不是完全正确的实现方式,但它可以解决

于 2021-08-12T16:11:15.730 回答