这是工作的:
$(".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 is undefined‘。我的浏览器是FireFox 10.0.2
可以通过这种方式在jQuery中使用dataTransfer吗?
发布于 2012-03-05 21:36:03
尝试:
$.fn.makeDraggable(){
$(this).attr('draggable','true');
$(this).bind('dragstart', function(e){
e.originalEvent.dataTransfer.effectAllowed = 'move';
e.originalEvent.dataTransfer.setData('text/html', 'test');
console.log('dragstart');
},
false);
}
jQuery event object没有dataTransfer
属性。
发布于 2012-12-04 18:12:45
https://stackoverflow.com/questions/9566322
复制相似问题