search

Home  >  Q&A  >  body text

javascript - 关于HTML5拖放的问题?

这是代码:
http://runjs.cn/code/qrcikod9

一直报错,不知道哪里错了。求解答
谢谢!

阿神阿神2896 days ago200

reply all(5)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 17:38:59

    看了下,这应该是jquery的Bug。
    你获得的这个e是jquery的,和原生的不是100%相同的,问题出在这里。

    你需要得到原生的event,改成这样:

    e.originalEvent.dataTransfer.setData('text','Hello World');

    加一个originalEvent就好了。

    多多利用谷歌,stackoverflow已经有相同的问题了。

    参考资料:http://stackoverflow.com/ques...

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 17:38:59

    别用jquery的event,H5原生的event支持。

    reply
    0
  • 黄舟

    黄舟2017-04-10 17:38:59

    你只贴这个也看不出来是什么问题啊,就知道报错说有变量未定义

    reply
    0
  • 迷茫

    迷茫2017-04-10 17:38:59

    我测试了一下发现你这个代码问题好大,只能触发拖拽的开始和结束,找不到目标元素,我们做过这个拖拽,一时也解决不了你这个错误,不过你报的这个错误可以看看这个https://developer.mozilla.org...
    刚刚发现你用了这个EventArea类名,但是在页面中根本就没设置。。。。

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 17:38:59

    <!DOCTYPE html>
    <html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            p{
                width: 800px;
                height: 200px;
                border: 1px solid red;
            }
        </style>
    </head>
    <body>
        <p id="p1" ondragover="bb(event)" ondrop="cc(event,this)">
            <img id="img1" src="img/t01d02b4910982c7f6a.jpg" width="320px"height="200px"ondragstart="aa(event)"/>
            <img id="img2" src="img/t01d02b4910982c7f6a.jpg" width="320px"height="200px"ondragstart="aa(event)"/>
        </p>
        <p id="p2" ondragover="bb(event)" ondrop="cc(event,this)">
            
        </p>
        
        <script type="text/javascript">
            function aa(ev){
                ev.dataTransfer.setData("id",ev.target.id);
            }
            function bb(ev){
                ev.preventDefault();
            }
            function cc(ev,dome){
                var data=ev.dataTransfer.getData("id");
                var dom=document.getElementById(data);
                dom.parentNode.removeChild(dom);
                dome.appendChild(dom);
            }
        </script>
    </body>

    </html>

    reply
    0
  • Cancelreply