Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dataTransfer.setData在IE9中不起作用_Javascript_Jquery_Internet Explorer_Drag And Drop - Fatal编程技术网

Javascript dataTransfer.setData在IE9中不起作用

Javascript dataTransfer.setData在IE9中不起作用,javascript,jquery,internet-explorer,drag-and-drop,Javascript,Jquery,Internet Explorer,Drag And Drop,我使用jquery将一些代码绑定到dragstart事件,如下所示: $new.on('dragstart', function(event) { event.originalEvent.dataTransfer.setData("text/html", $new.clone().wrap('<p>').parent().html()); }); $new.on('dragstart',函数(事件){ event.originalEvent.dataTransfer.setDa

我使用jquery将一些代码绑定到
dragstart
事件,如下所示:

$new.on('dragstart', function(event) {
  event.originalEvent.dataTransfer.setData("text/html", $new.clone().wrap('<p>').parent().html());
});
$new.on('dragstart',函数(事件){
event.originalEvent.dataTransfer.setData(“text/html”,$new.clone().wrap(“”).parent().html());
});
$new
是一个jquery对象。其目的是将拖动元素的html附加到事件,以便在拖放时创建副本。Chrome甚至不需要这个活动就可以做到这一点。当添加此代码时,Firefox可以工作。但是IE9在触发事件时抛出一个
SCRIPT65535:对方法或属性访问的意外调用。
。下面是一个JSFIDLE:


我怎样才能让IE工作呢?

在IE中,根据IE9,只有两个参数不接受文本/html作为格式。只使用“文本”

以下是msdn网站提供的ie示例:

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;
}

setData
methodexpect字符串数据类型而不是数字

setData('text',1)
错误

setData('text',''+1)
是正确的

可能重复的