最初の投稿は簡単です。Javascript動的にイベントとこのパラメータを持つeventListenerを作成
function drag(ev) {
ev.dataTransfer.setData('id', ev.target.id);
}
function drop(ev,r) {
ev.preventDefault();
var oldRowID = ev.dataTransfer.getData('id');
var newRowNo = r.rowIndex;
var tbl = document.getElementById('main');
newRow = tbl.insertRow(newRowNo);
oldRow = document.getElementById(oldRowID);
newRow.innerHTML = oldRow.innerHTML;
newRow.id = oldRowID;
newRow.draggable = true;
newRow.addEventListener('dragstart',drag(event));
newRow.addEventListener('drop', function() {
drop(event,newRow);
});
oldRowNo = oldRow.rowIndex;
tbl.deleteRow(oldRowNo);
}
を私が取得エラー:
<tr
id=rw01
draggable=true
ondragstart=drag(event);
ondrop=drop(event,this);
>some HTML</tr>
ジャバスクリプトは次のようになります。私は以下のondrop機能が と同じ効果がありますJavaScriptでのEventListenerを作成しようとしている
新しく作成された行のondropイベントによってdrop関数が呼び出されたときです。行番号
var oldRowID = ev.dataTransfer.getData('id')
戻り値なし - ドラッグイベントが要素IDをドロップ関数に渡していないことを示唆しています。
すべての関数がhtmlから呼び出されています。新しく作成されたイベントハンドラによって呼び出された同じ関数が機能していません。
ありがとうございます。
ありがとうございます@ShwethaU私は、挿入された行を処理するリスナーを持っています。しかし、ドラッグされたオブジェクトをドロップした要素のIDを取得する方法はわかりません。 drop()関数は起動しますが、その関数は受信のIDを必要とします。要するに、どの要素がマークアップでドロップ機能を起動したのですか?私はこの情報を得るために 'これ'を渡しました。 'function drop(ev){'では、私が知る限り、evは現在必要ありません。 – Gaz
UPDATE。すべての固定された感謝のヒープ。私は 'event.target.parentElement.id'を使用しましたが、' parentElement'は必要なのは、私が
関連する問題