微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

绑定本机html5 dragstart事件处理程序并使用jQuery访问dataTransfer

这是工作:
$(".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属性

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。