这个是有效的:
$(".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', function(e){
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/html', 'test');
console.log('dragstart');
},
false);
}
错误信息:在这一行 e.dataTransfer.effectAllowed = 'move';
中,我收到一个 'e.dataTransfer未定义' 的错误信息。我的浏览器是 FireFox 10.0.2。
是否有可能用jQuery这种方式使用dataTransfer呢?