Javascript для перетаскивания в HTML5

Пытаюсь выполнить простой пример перетаскивания в HTML5, но когда я перетаскиваю изображение в элемент div, я получаю следующую ошибку.

Uncaught TypeError: Невозможно установить для свойства 'innerHTML' значение null

Итак, я предполагаю, что сообщение об ошибке означает, что dragElement имеет значение null. Я не понимаю, почему, потому что я установил его в событии dragstart как HTML элемента img.

Кто-нибудь знает, как это сделать?

var dragElement = null;

$('#x').bind('dragstart', function (e) {
    dragElement = this;
    e.dataTransfer.effectAllowed = 'move';
    e.dataTransfer.setData('text/html', this.innerHTML);
});

$('#drop-box').bind('dragover', function (e) {
    e.preventDefault();
    return false;
});

$('#drop-box').bind('drop', function (e) {
    e.preventDefault();
    if (e.stopPropagation) {
        e.stopPropagation();
    }

    if (dragElement != this) {
        dragElement.innerHTML = this.innerHTML;
        this.innerHTML = e.originalEvent.dataTransfer.getData('text/html');
    }

    return false;
});
7
задан Brian Tompsett - 汤莱恩 5 November 2019 в 22:18
поделиться