Firefox中不可靠的拖放?

时间:2017-11-07 22:29:41

标签: javascript firefox draggable html5-draggable

我们在Firefox 56中遇到javascript drag-n-drop的重大问题。症状是drag-n-drop停止在所有选项卡/页面上工作 - 而不仅仅是我们的选项卡。

在此jsfiddle中注释掉对setData()的调用会使问题可靠地发生。我们的代码正在调用setData;然而,经过几次拖拽后它停止工作。

https://jsfiddle.net/5jobd9tw/27/

function createLi (number) {
let li = document.createElement('li');
li.draggable = true;
let span = document.createElement('span')
span.appendChild(
    document.createTextNode('element ' + number)
)
li.appendChild(span);
li.addEventListener('dragstart', function (event) {
    log('element', number, 'dragstart event');
    event.dataTransfer.setData('text/plain', 'foobar');
    // event.dataTransfer.setData('text/json',
    //  JSON.stringify({ foo: 'bar' })
    // )
    event.dataTransfer.setDragImage(noisyCanvas(), 50, 50);
});
li.addEventListener('dragenter', function (event) {
    log('element', number, 'dragenter event');
});
li.addEventListener('dragleave', function (event) {
    log('element', number, 'dragleave event');
});
li.addEventListener('dragend', function (event) {
    log('element', number, 'dragend event');
});
return li;
}

0 个答案:

没有答案