获取此刻拖动的元素的类型

时间:2016-01-04 21:10:52

标签: javascript jquery html drag-and-drop

在我的网站上有一个div,如果你把东西拖到浏览器中就会显示出来,如果放下它就消失了。

function startDraghandler() {
  $("*").on("dragover", function(event) {
    $("*").off("dragover");
    $("#uploadbox").animate({bottom:"+=360px"}, 250);
    $("*").on("mouseover", function() {
      $("#uploadbox").animate({bottom:"-=360px"}, 250);
      $("*").off("mouseover");
      startDraghandler();
    })
  });
}

但是,如果您从网站本身拖出某些内容,我不想让div出现,只有当它来自浏览器之外时才会显示。如果您从网站拖动一个元素,我想要发生一些不同的事情。但是我不知道如何做到这一点,因为我在互联网上找到的就是如何在被拖拽的元素掉落时获取它的类型。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

There is not possible了解dragEvents中的数据,dragStartdragEnd事件除外。

但是可以存在一种解决方法,测试一下并告诉我它是否适合您:

// Variable declaration
var insidePage = false;

// When any element on document is dragged, set the var in true value.
$(document).on("dragstart", function(evt) {
    insidePage = true;
});

$(document).on("dragend", function(evt) {
    insidePage = false;
});

// Only executes the function if the element that is dragged is coming from outside the document
$(document).on("dragover", function(evt) {
  if(!insidePage){  
    // Code to drag from outside
  }
});