鼠标按下和鼠标移动在流星中执行不一致

Mousedown and mousemove perform inconsistently in Meteor

本文关键字:鼠标 执行 不一致 流星 移动      更新时间:2023-09-26

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

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

我正在使用鼠标向下、鼠标移动和鼠标向上的组合来尝试跟踪拖动。

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没有按预期注册。

如果我在 mouseupmousedown 之后return false,逻辑应该工作 - 即。我可以在鼠标按下后将鼠标移动得很远很远,并注意event.y<10 并且没有 baulk - 但是代码没有用户能够拖动 <a> 标签的预期效果。

你有什么想法吗?

'mousedown': function(){

您正在模板上执行鼠标按下,它应该在a元素上。

因此,请改为执行此操作:

'mousedown a': function(){

或者在此处选择正确的a元素。

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

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