这是工作:
$(".my_dragging_class").each( makeDraggable($(this).get()[0]) );
var makeDraggable = function (el){
el.draggable = 'true';
el.addEventListener('dragstart',function(e){
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/html','test');
console.log('dragstart');
},false);
}
这不工作:
$(".my_dragging_class").makeDraggable();
$.fn.makeDraggable(){
$(this).attr('draggable','true');
$(this).bind('dragstart',false);
}
错误信息:我收到e.dataTransfer.effectAllowed =’move’的行’e.dataTransfer未定义’。我的浏览器是FireFox 10.0.2
这样可以使用jQuery数据传输吗?
解决方法
尝试:
$.fn.makeDraggable(){
$(this).attr('draggable',function(e){
e.originalEvent.dataTransfer.effectAllowed = 'move';
e.originalEvent.dataTransfer.setData('text/html',false);
}
jQuery event object没有dataTransfer属性。