每天一个JavaScript实例-html5拖拽
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了每天一个JavaScript实例-html5拖拽,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2479字,纯文字阅读大概需要4分钟。
内容图文
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-html5拖拽</title> <style> #drop{ width:300px; height:200px; background-color:#f00; padding:5px; border:2px solid #000; } #item{ width:100px; height:100px; background-color:#ff0; padding:5px; margin:20px; border:1px solid #000; } *[draggable=true]{ -moz-user-select:none; -khtml-user-drag:element; cursor:move; } *:-khtml-drag{ background-color:rgba(238,238,238,0.5); } </style> <script> function listenEvent(eventTarget,eventType,eventHandler){ if(eventTarget.addEventListener){ eventTarget.addEventListener(eventType,eventHandler,false); }else if(eventTarget.attachEvent){ eventType = "on" + eventType; eventTarget.attachEvent(eventType,eventHandler); }else{ eventTarget["on" + eventType] = eventHandler; } } //取消事件 function cancelEvent (event){ console.log("取消事件"); if(event.preventDefault){ event.preventDefault(); }else{ event.returnValue = false; } } //取消传递 function cancelPropagation(event){ console.log("取消传递"); if(event.stopPropagation){ event.stopPropagation(); }else{ event.cancelBubble = true; } } function dragOver(evt){ console.log("拖拽进入区域"); if(evt.preventDefault) evt.preventDefault(); evt = evt || window.event; evt.dataTransfer.dropEffect = 'copy'; return false; } window.onload = function(){ console.log("程序就绪"); //console.log(target); var item = document.getElementById("item"); item.setAttribute("draggable","true"); //console.log(item); listenEvent(item,"dragstart",function(evt){ console.log("拖拽开始"); evt = evt || window.event; evt.dataTransfer.effectAllowed = 'copy'; evt.dataTransfer.setData("Text",item.id); }); var target = document.getElementById("drop"); listenEvent(target,"dragenter",cancelEvent); listenEvent(target,"dragover",dragOver); listenEvent(target,"drop",function(evt){ console.log("drop"); cancelPropagation(evt); evt = evt || window.event; evt.dataTransfer.dropEffect = 'copy'; var id = evt.dataTransfer.getData("Text"); target.appendChild(document.getElementById(id)); }); }; </script> </head> <body> <div> <p>Drag the small yellow box with hte dash border to the larger red box with the solid border</p> </div> <div id = "item" draggable = "true"> </div> <div id = "drop"> </div> </body> </html>
原文:http://blog.csdn.net/waiting7436/article/details/40270047
内容总结
以上是互联网集市为您收集整理的每天一个JavaScript实例-html5拖拽全部内容,希望文章能够帮你解决每天一个JavaScript实例-html5拖拽所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。