前言:
拖拽相关的一共有7个方法,这里只是项目中遇到的一些功能点
拖拽只用是原生方法!!!
// 发送
document.addEventListener("dragstart", function(event) {
if(event.target.id.indexOf("imgid") >-1){
// console.log("发送方是img,id为"+event.target.id);
event.dataTransfer.setData("Text", $("#"+event.target.id).attr("data-iframesrc"));
event.dataTransfer.setData("Textid", event.target.id);
event.dataTransfer.setData("Textimgsrc", $("#"+event.target.id).attr("src"));
}else if(event.target.id.indexOf("showshow") >-1){
// console.log("发送方是iframe,id为"+event.target.id);
event.dataTransfer.setData("Text", $("#"+event.target.id).find("iframe").attr("src"));
event.dataTransfer.setData("Textid", event.target.id);
event.dataTransfer.setData("Textimgsrc", $("#"+event.target.id).find("iframe").attr("data-imgsrc"));
}
})
//阻止默认(这个必须有,不能注释)
document.addEventListener("dragover", function(event) {
event.preventDefault();
});
// 接受
document.addEventListener("drop", function(event) {
var datasrc=event.dataTransfer.getData("Text");
var dataid=event.dataTransfer.getData("Textid");
var dataimgsrc=event.dataTransfer.getData("Textimgsrc");
console.log("接收的id为"+dataid)
console.log("接收的iframesrc为"+datasrc);
console.log("接收的imgsrc为"+dataimgsrc)
if(event.target.id.indexOf("imgid")>-1){
console.log("接收方是img,id为"+event.target.id);
if(dataid.indexOf("showshow")>-1){
console.log("iframe变小图标")
$("#"+dataid).find("iframe").attr("data-imgsrc",$("#"+event.target.id).attr("src"));//发送方设置imgsrc
$("#"+dataid).find("iframe").attr("src",$("#"+event.target.id).attr("data-iframesrc"));//发送方设置iframesrc
$("#"+event.target.id).attr("data-iframesrc",datasrc);//接受方设置iframesrc
$("#"+event.target.id).attr("src",dataimgsrc);//接受方设置imgsrc
}else{
console.log("列表直接的交换")
$("#"+dataid).attr("src",$("#"+event.target.id).attr("src"));//发送方设置imgsrc
$("#"+dataid).attr("data-iframesrc",$("#"+event.target.id).attr("data-iframesrc"));//发送方设置iframesrc
$("#"+event.target.id).attr("data-iframesrc",datasrc);//接受方设置iframesrc
$("#"+event.target.id).attr("src",dataimgsrc);//接受方设置imgsrc
}
}else if(event.target.id.indexOf("show") >-1){
console.log("接收方是iframe,id为"+event.target.id);
if(dataid.indexOf("showshow") >-1){
console.log("iframe之间交换");
$("#"+dataid).find("iframe").attr("data-imgsrc",$("#"+event.target.id).next().attr("data-imgsrc"));//发送方设置imgsrc
$("#"+dataid).find("iframe").attr("src",$("#"+event.target.id).next().attr("src"));//发送方设置iframesrc
$("#"+event.target.id).next().attr("data-imgsrc",dataimgsrc);//接受方设置imgsrc
$("#"+event.target.id).next().attr("src",datasrc);//接受方设置iframesrc
}else{
$("#"+dataid).attr("src",$("#"+event.target.id).next().attr("data-imgsrc"));//发送方设置imgsrc
$("#"+dataid).attr("data-iframesrc",$("#"+event.target.id).next().attr("src"));//发送方设置iframesrc
$("#"+event.target.id).next().attr("data-imgsrc",dataimgsrc);//接受方设置imgsrc
$("#"+event.target.id).next().attr("src",datasrc);//接受方设置iframesrc
}
}
})