drop file js get main id

时间:2014-05-06 09:14:10

标签: javascript jquery html drag-and-drop

我的HTML页面

<div id="myID" class="front" onMouseOver="oneffect(); ondragover="dragover(this);" ondragleave="dragleave(this);">
    <img class="withUpload" src="../img/withUpload.png"/>
    <span class="nbreResult">20</span>
    <span>
         <h1>Title</h1>
    </span>
</div>

我的听众JS

window.addEventListener("drop",function(e){
    alert(e.target.id);
    e.preventDefault();
    getFile(e.dataTransfer, e.target.id)
},false);

当我在div上删除文件时,我想获取ID,但我意识到如果用户将文件放在子项上(标题,img,span),那么我就不会获得任何ID ,因为他们没有。所以用户必须放弃&#34;自由区&#34;。我怎样才能在DIV中到处获取我的DIV ID,而不仅仅是在#34;自由区&#34;。     Example

您也可以看到my fiddle 希望我清楚!

2 个答案:

答案 0 :(得分:0)

我建议您可以使用jQuery轻松找到父DIV及其ID。

未经测试,但这应该有效。

使用Javascript:

window.addEventListener("drop",function(e){
    var id = $(e.target).parents('div.front').attr('id');
    alert(id);
    e.preventDefault();
    getFile(e.dataTransfer, e.target.id)
},false);

答案 1 :(得分:0)

而不是将事件侦听器添加到窗口,将其添加到div myID

document.getElementByID("myID").addEventListener(....,function(){...........},...);