如何在div元素等上允许drop事件?

时间:2015-09-16 17:22:03

标签: javascript drag-and-drop

我只是想知道如何在div元素上允许drop事件。

我有一个图像,div和数字输入。该图片有一个'类别'属性。我实现了拖放操作,因此当拖动的图像放在输入上时,输入的值就变成了图像' '类别'财产价值。

工作正常。然而,当我尝试将图像放到div元素上时,它将不允许掉落并且不执行拖放事件功能!

请告诉我为什么会这样,如果可能的话,如何允许丢弃。

<img id="picture" src="...">

<div id="watch"></div>

<input id="category" type="number">


<script>
    picture.category = 6332261546019;
    picture.addEventListener('dragstart',function(e){
        e.dataTransfer.setData('category',  this.category);
        e.dataTransfer.setData('url',       this.src);
    });
    category.addEventListener('drop',function(e){
        e.preventDefault();
        this.value = e.dataTransfer.getData('category');
    });
    watch.addEventListener('drop',function(e){
        e.preventDefault();
        img     = document.createElement('img');
        img.src = e.dataTransfer.getData('url');
        this.appendChild(img);
    });
</script>

1 个答案:

答案 0 :(得分:0)

抱歉,伙计们发现我的div需要这个:

watch.addEventListener('dragover',function(e){
    e.preventDefault();
});

http://www.w3schools.com/html/html5_draganddrop.asp