2013-05-23 2 views
8

Я связывании код для dragstart события с JQuery, как это:dataTransfer.setData не работает в IE9

$new.on('dragstart', function(event) { 
    event.originalEvent.dataTransfer.setData("text/html", $new.clone().wrap('<p>').parent().html()); 
}); 

$new является объектом JQuery. Цель состоит в том, чтобы привязать html перемещенного элемента к событию, чтобы я мог создать копию при ее удалении. Для Chrome это даже не нужно. Firefox работает, когда этот код добавлен. Но IE9 бросает SCRIPT65535: Unexpected call to method or property access., когда событие запускается. Вот jsFiddle: http://jsfiddle.net/j52EM/3/

Как я могу сделать эту работу для IE?

+0

Возможный дубликат [перетаскивание не работает в IE - Javascript, HTML5] (https://stackoverflow.com/questions/12803235/drag-and-drop-not-working-in-ie-javascript-html5) – user10089632

ответ

12

, т.е. есть только два параметра в соответствии с docs IE9 не принимает текст/html в качестве формата. Используйте только «Текст»

вот пример т.е. в соответствии с веб-сайта MSDN:

function InitiateDrag() 
// The setData parameters tell the source object 
// to transfer data as a URL and provide the path. 
{ 
    event.dataTransfer.setData("URL", oImage.src); 
} 

function FinishDrag() 
// The parameter passed to getData tells the target 
// object what data format to expect. 
{ 
    sImageURL = event.dataTransfer.getData("URL") 
    oTarget.innerText = sImageURL; 
} 
+0

вот удобная скрипка, которую я нашел http: // jsfiddle. сеть/robertc/ASKte/4 / –

0

setData метод ожидать типа не номер

setData('text',1)строковые данные неправильно

setData('text',''+1) правильно

Смежные вопросы