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;
}
抛出错误:
意外调用方法或属性访问。
我看到的错误就行了:
e.dataTransfer.setData("dragedElement", draggedElement);
相同的代码在Chrome& Firefox浏览器。
有人有解决方案吗?
答案 0 :(得分:1)
参考此链接。
Drag & Drop HTML 5 jQuery: e.dataTransfer.setData() with JSON
无需为每个
设置数据e.dataTransfer.setData("dragedElement", draggedElement);
e.dataTransfer.setData('draggedElementType', elementType);
e.dataTransfer.setData('draggedElementID', elementID);
而不是这个,我们可以将单个json对象作为文本传递。