javascript – 防止在Meteor中拖动事件的默认值

前端之家收集整理的这篇文章主要介绍了javascript – 防止在Meteor中拖动事件的默认值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在我的Meteor应用程序中实现基本的拖放功能.我希望用户能够将文件(从他们的文件系统)放入指定的dom元素中,并在dataTransfer对象中检索该文件.不幸的是,我似乎不能阻止事件在drop事件上重新加载整个页面.这是我的基本事件处理程序:
Template.sideBar.events({

 'drop #features' : function(e,t) {

   e.preventDefault();

   var fileList = e.dataTransfer.files;
   console.log(fileList[0]); 

   return false; 
 }

});

我已经使用Chrome和Firefox进行了测试.我错过了什么吗?有没有人成功实现了?

解决方法

那是愚蠢的我想我想出来了除了drop事件之外,还需要在dragover事件上调用preventDefault().这是我的工作代码
Template.sideBar.events({

  'dragover #features' : function(e,t) {
    e.preventDefault(); 
    $(e.currentTarget).addClass('dragover');
  },'dragleave #features' : function(e,t) {
    $(e.currentTarget).removeClass('dragover');
  },'drop #features' : function(e,t) {
    e.preventDefault();
    console.log('drop!');
  }

});

不知道为什么这样做,但它确实(至少在Chrome中).

猜你在找的JavaScript相关文章