- e.originalEvent.dataTransfer.effectAllowed = 'move';
- e.originalEvent.dataTransfer.setData('id', this.id);
- var xo = e.originalEvent.clientX - $(e.target).offset().left;
- var yo = e.originalEvent.clientY - $(e.target).offset().top;
- e.originalEvent.dataTransfer.setData('offsetX', e.originalEvent.target.width / 2 - xo);
- e.originalEvent.dataTransfer.setData('offsetY', e.originalEvent.target.height - yo);
+ var dt = e.originalEvent.dataTransfer;
+ dt.effectAllowed = 'move';
+ var dragData = { type: $(this).data('type') };
+ dt.setData('text', JSON.stringify(dragData));
+ if (dt.setDragImage) {
+ var img = $("<img>").attr("src", $(e.originalEvent.target).attr("src"));
+ dt.setDragImage(img.get(0), 12, 21);
+ }