我们在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;
}