简体   繁体   English

IE 9+ jQuery的div拖放不起作用

[英]IE 9+ JQuery drag & drop for div not working

function OnDragStartElement(e) {
    //this.style.opacity = '0.4';           
    srcElementParent = this;
    e.dataTransfer.effectAllowed = 'move';
    var elementCount = formElements.length > 0 ? Math.max.apply(Math, formElements.map(function (o) { return o.ID; })) : 0;     

    var elementText = $(this).children()[0].innerHTML;      
    var elementType = $($(this).children()[1])[0].value;
    var elementID = (elementCount + 1);
    var draggedElement = elementText + ': ' + elementText + elementID
    //debugger;
    e.dataTransfer.setData("dragedElement", draggedElement);
    e.dataTransfer.setData('draggedElementType', elementType);
    e.dataTransfer.setData('draggedElementID', elementID);
    isElementNotPlaced = true;
    isdragDivElement = false;
}

An error is thrown: 引发错误:

Unexpected call to method or property access. 意外调用方法或属性。

The error I see is on the line: 我看到的错误在线上:

e.dataTransfer.setData("dragedElement", draggedElement);

The same code works fine on Chrome & Firefox. 相同的代码可以在Chrome和Firefox上正常运行。

Does anyone have a solution for this? 有人对此有解决方案吗?

Refere this link. 请参考此链接。

Drag & Drop HTML 5 jQuery: e.dataTransfer.setData() with JSON 拖放HTML 5 jQuery:具有JSON的e.dataTransfer.setData()

no need to set data for each 无需为每个设置数据

e.dataTransfer.setData("dragedElement", draggedElement);
e.dataTransfer.setData('draggedElementType', elementType);
e.dataTransfer.setData('draggedElementID', elementID);

instead of this we can pass single json object as text. 取而代之的是,我们可以将单个json对象作为文本传递。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM