我使用jquery将一些代码绑定到dragstart
事件:
$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 :(得分:12)
in ie根据docs只有两个参数IE9不接受text / 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;
}
答案 1 :(得分:1)
setData
方法期望字符串数据类型不是数字
setData('text',1)
错了
setData('text',''+1)
是正确的