3

ユーザーがiframe要素でdivをドラッグできるようにするWebアプリを作成しようとしています。

これはindex.htmlの私の現在のコードです:

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script>
    function onDrag(event){
        event.dataTransfer.setData('Text', 'Some content');
    }
</script>
<div id="items">
    <ul>
        <li><div draggable="true" ondrag="onDrag(event)">Content1</div></li>
        <li><div draggable="true" ondrag="onDrag(event)">Content2</div></li>
    </ul>
</div>
<iframe id="box" src="box.html">
</iframe>

そして、これがbox.htmlからの私のコードです:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script>    
        function onDrop(event){
            event.target.innerHTML += event.dataTransfer.getData('Text');
            alert('Ok!');
        }
        function onDragOver(ev){
            ev.preventDefault();
        }
    </script>
</head>
<body ondragover="onDragOver(event)" ondrop="onDrop(event)">
</body>
</html>

ドラッグは機能し、onDrop関数からそのアラートを受け取りますが、event.dataTransfer.getData('Text')は空の文字列を返しています。理由はわかりません。

前もって感謝します

4

1 に答える 1

4

dragstartイベントではなく、イベントにドラッグデータを設定する必要があります:http drag//jsfiddle.net/SVtzK/1/

于 2013-01-28T14:38:58.893 に答える