Ответ 1
Для тех, кто ищет ответ:
getData() и атрибут setData() должны называться точно "text", так как u может использовать любой параметр в других браузерах (что актуально делает много смысла - IE скалы снова), другие ответы здесь бесполезны.
Я пытаюсь реализовать базовые функции drag & drop с помощью HTML5. Он отлично работает в Chrome, но в IE10 я получаю ошибку 0x8000ffff - JavaScript runtime error: Unexpected call to method or property access.
в строке setData
.
function handleDragStart(e) {
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData("dropTarget", g.destination);
}
var cols = $("#" + g.source + " tbody > tr");
[].forEach.call(cols, function (col) {
col.addEventListener('dragstart', handleDragStart, false);
});
Что я делаю неправильно?
Для тех, кто ищет ответ:
getData() и атрибут setData() должны называться точно "text", так как u может использовать любой параметр в других браузерах (что актуально делает много смысла - IE скалы снова), другие ответы здесь бесполезны.
Вы правы. В IE 11 я изменил из e.dataTransfer.getData('text/html') к e.dataTransfer.getData('text') и никаких ошибок не возникает. Dto. в e.dataTransfer.setData('текст').
Этот образец (методы DnD) затем будет запускаться в IE 11, Chrome и Firefox: http://www.developer.com/lang/using-html5-drag-and-drop-in-asp.net.html
Похоже, я неправильно понял цель dataTransfer.setData
.
Он работает только так:
e.dataTransfer.setData("Text", g.destination);