使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose

nbsp;html>       审批流实现(Flex转向Html5)第一版          /* function changeTabList1(element){     var theTab=element.parentNode; var _tabList=document.getElementById("tablist1"); var DIVs=_tabList.getElementsByTagName("DIV"); for(i=0;i<DIVs.length;i++){     DIVs[i].className="tab_normal"; } theTab.className="tab_nonce"; }           function changeTabList2(element){     var theTab=element.parentNode; var _tabList=document.getElementById("tablist2"); var DIVs=_tabList.getElementsByTagName("DIV"); for(i=0;i<DIVs.length;i++){     DIVs[i].className="tab_normal"; } theTab.className="tab_nonce"; } */          //这个数组用来保存图像的信息 var images=[]; //对放置目标canvas_liuchengtu的引用 var imagesDropTarget; function loadDemo(){     imagesDropTarget=document.getElementById("canvas_liuchengtu"); //放置目标注册了dragenter、dragover、dragleave和drop事件处理器 imagesDropTarget.addEventListener("dragenter",handleDragEnter,false); imagesDropTarget.addEventListener("dragover",handleDragOver,false); imagesDropTarget.addEventListener("dragleave",handleDragLeave,false); imagesDropTarget.addEventListener("drop",handleDrop,false);             var table_liuchengtu=document.getElementById("table_liuchengtu");             table_liuchengtu.addEventListener("dragover",handleDragOverOuter,false); //每个可拖动的成员都有拖动开始和结束事件处理器 var members=document.querySelectorAll("img"); [].forEach.call(members,function(member){     member.addEventListener("dragstart",handleDragStart,false); member.addEventListener("dragend",handleDragEnd,false); }); } window.addEventListener("load",loadDemo,false); //开始拖动时调用 function handleDragStart(evt){     //拖动只支持copy操作 evt.effectAllowed="copy"; //高亮潜在的放置目标 imagesDropTarget.className="validtarget"; //拖动起始目标是成员之一 //成员的数据是png图像 evt.dataTransfer.setData("image/png",evt.target.textContent);//////////////////////////////////// return true; } //停止传播,阻止默认的拖动动作将我们的目标列表显示为有效的放置目标 function handleDragEnter(evt){     evt.stopPropagation(); evt.preventDefault(); return false; } function handleDragOverOuter(evt){     if(evt.target.id=="table_liuchengtu")     imagesDropTarget.className="validtarget"; evt.stopPropagation(); evt.preventDefault(); return false; } function handleDragLeave(evt){     return false; } //如果用户鼠标悬停在canvas上 //会显示为允许复制,同时为了提供更好的反馈效果,目标列表被高亮显示 function handleDragOver(evt){     evt.dataTransfer.dropEffect="copy"; evt.stopPropagation(); evt.preventDefault(); imagesDropTarget.className="highlighted"; return false; } function handleDrop(evt){     evt.preventDefault(); evt.stopPropagation(); } //确保清空所有的拖放操作 function handleDragEnd(evt){     //恢复潜在放置目标样式 imagesList.className=null; return false; }        
     
                
                                                      
                                  
                                           
     
     
      
     
                                
                                                  @@##@@                                                                  
              
 
                                          @@##@@                                                                  
              
 
                                          @@##@@                                                                  
              
 
                                                  @@##@@                                                                  
              
 
                                                  @@##@@                                                                  
              
 
                                                  @@##@@                                                                  
              
 
 
     
  
     
     
                                                                                                                                          
名称
fdsffsdf
fdsffsdf
fsdffasdf
fsdffsad
 
 
 
                             
                                           
     
       
 
 
 
   

登录后复制
问题补充:目标功能:我想把那几个png的图片拖放到下面的canvas(刚才修改成了div,发布问题时忘了改了)中,我注册了事件处理器和编写了dragstart、dragend、dragenter、dragleave、dragover、drop。 
我昨天研究了一下午了,今天也弄了一上午了,还是不行,求大家帮忙看看: 
1.在handleDragStart中的这句话evt.dataTransfer.setData(“image/png”,evt.target.textContent);中第二个参数怎么写,现在写的是处理文本的,而卧要处理图像 
2.我以前看书写过处理文本的,但按照我的理解去处理图像时那个handleDrop不对,所以我把函数里面的内容删了,求您帮我看看怎么写,最好帮我写出来,我知道这样很不好,但我是真的不会了,我已经按照《html5程序设计 第二版》中的例子琢磨快一天了,求帮忙啊 

回复讨论(解决方案)

你太笨了,看下面:

nbsp;html>     审批流实现(Flex转向Html5)第一版        .highlighted {            background-color: yellow;        }        .validtarget {            background-color: lightblue;        }          //对放置目标canvas_liuchengtu的引用var imagesDropTarget;function loadDemo(){imagesDropTarget=document.getElementById("div_liuchengtu"); //放置目标注册了dragenter、dragover、dragleave和drop事件处理器imagesDropTarget.addEventListener("dragenter",handleDragEnter,false);imagesDropTarget.addEventListener("dragover",handleDragOver,false);imagesDropTarget.addEventListener("dragleave",handleDragLeave,false);imagesDropTarget.addEventListener("drop",handleDrop,false);                        //放置目标div_liuchengtu外围的td起到缓冲作用,用来重置放置目标区域的样式            var td_liuchengtu=document.getElementById("td_liuchengtu");            td_liuchengtu.addEventListener("dragover",handleDragOverOuter,false);//每个可拖动的成员都有拖动开始和结束事件处理器var members=document.querySelectorAll("img");[].forEach.call(members,function(member){    member.addEventListener("dragstart",handleDragStart,false);member.addEventListener("dragend",handleDragEnd,false);});}window.addEventListener("load",loadDemo,false);//"dragstart" 开始拖动时调用function handleDragStart(evt){    //拖动只支持copy操作evt.effectAllowed="copy";//高亮潜在的放置目标imagesDropTarget.className="validtarget";//拖动起始目标是成员之一//成员的数据是png图像evt.dataTransfer.setData("image/png",evt.target.id);//alert(evt.target.id);return true;}//"dragenter" 停止传播,阻止默认的拖动动作将我们的目标列表显示为有效的放置目标function handleDragEnter(evt){    evt.stopPropagation();evt.preventDefault();return false;}//"dragover" 如果用户鼠标悬停在canvas上会显示为允许复制,同时为了提供更好的反馈效果,目标列表被高亮显示function handleDragOver(evt){    evt.dataTransfer.dropEffect="copy";evt.stopPropagation();evt.preventDefault();imagesDropTarget.className="highlighted";return false;}//"dragleave"function handleDragLeave(evt){    return false;}        //"drop" function handleDrop(evt){    evt.preventDefault();evt.stopPropagation();//使用image类型获取拖动项中的图像var image=evt.dataTransfer.getData("image/png");evt.dataTransfer.dropEffect="copy";var dsa=document.getElementById(image);imagesDropTarget.innerHTML+="@@##@@";}//为了实现更好的放置反馈效果,我们将td元素上的dragover事件作为关闭目标区域高亮效果的标记function handleDragOverOuter(evt){    if(evt.target.id=="td_liuchengtu")    imagesDropTarget.className="validtarget";evt.stopPropagation();return false;}//"dragend" 确保清空所有的拖放操作function handleDragEnd(evt){    //恢复潜在放置目标样式imagesDropTarget.className=null;return false;}    
    
            
                                                
                    
                                        
    
    
    
    
                     
                                                 @@##@@                                                                
             
                                        @@##@@                                                                
             
                                        @@##@@                                                                
             
                                                 @@##@@                                                                
             
                                                 @@##@@                                                                
             
                                                 @@##@@                                                                
             
    
    
    
                                                                                                                    
名称
fdsffsdf
fdsffsdf
fsdffasdf
fsdffsad
                   
                                        
    
      

登录后复制

用C#思想理解HTML5拖、放:http://www.deepleo.com/archives/1386

使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose使用html5的拖放对图片进行拖拽遇到了问题,求大神帮忙_html/css_WEB-ITnose

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3113251.html

(0)
上一篇 2025年3月29日 11:54:37
下一篇 2025年2月27日 14:26:15

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论