千家信息网

HTML5拖拽的相关知识点

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇内容主要讲解"HTML5拖拽的相关知识点",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"HTML5拖拽的相关知识点"吧!拖拽相关属性draggable属
千家信息网最后更新 2024年12月12日HTML5拖拽的相关知识点

本篇内容主要讲解"HTML5拖拽的相关知识点",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"HTML5拖拽的相关知识点"吧!

拖拽相关属性

draggable属性是html5的全局属性,是html5支持拖放操作的方式之一,用来表示元素是否可以被拖放,draggable有三个值,true表示可以拖放,false表示不可以被拖放,auto表示使用浏览器的默认值

XML/HTML Code复制内容到剪贴板

  1. <ul>

  2. <li id="item1" draggable="true">列表1li>

  3. <li id="item2" draggable="true">列表2li>

  4. <li id="item3" draggable="true">列表3li>

  5. <li id="item4" draggable="true">列表4li>

  6. <li id="item5" draggable="true">列表5li>

  7. <li id="item6" draggable="true">列表6li>

  8. ul>

拖拽相关的事件

ondragstart:此事件在用户开始拖动元素或选择文本时触发 ondrag:元素正在拖动时触发 ondragend:用户完成元素拖放时触发 ondragleave:当被鼠标拖动的对象离开其容器范围时触发 ondragover:当某个被拖动的对象在另一对象容器范围内拖动时触发此事件,此事件发生在目标元素身上 ondrop:在一个拖动过程中,释放鼠标时触发,此事件作用在目标元素身上

dataTransfer 对象相关方法

setData(format,data):添加自定义数据格式 getData(format):获取自定义的数据格式clearData([format]):清除自定义的数据格式及数据

Event.preventDefault()

此方法是阻止事件的默认行为,在ondragover中一定要执行preventDefault(),否则ondrop事件不会被触发

实现案例:

XML/HTML Code复制内容到剪贴板

  1. >

  2. <html>

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>title>

  6. <style type="text/css">

  7. .main{

  8. width: 800px;

  9. /*border: 1px solid #ccc;*/

  10. height: 400px;

  11. margin:0 auto;

  12. }

  13. .left{

  14. float: left;

  15. width: 25%;

  16. background-color: #666;

  17. height: 370px;

  18. text-align: center;

  19. color: black;

  20. padding-top:30px ;

  21. font-size: 110px;

  22. }

  23. .right{

  24. float: right;

  25. width: 69%;

  26. }

  27. .right ul,.right li{

  28. margin: 0;

  29. padding: 0;

  30. }

  31. .right li{

  32. list-style: none;

  33. border: 2px dashed #666;

  34. background-color: #ddd;

  35. height: 60px;

  36. margin-top: 3px;

  37. text-indent: 30px;

  38. line-height: 60px;

  39. }

  40. .right li:hover{

  41. background-color: #ccc;

  42. }

  43. #message{

  44. width: 800px;

  45. text-align: center;

  46. border: 1px solid black;

  47. margin: 20px auto;

  48. font-size:28px;

  49. }

  50. style>

  51. <script type="text/javascript">

  52. _window.onload = function(){

  53. var aLi = document.getElementsByTagName('li');

  54. var oLeft = document.getElementsByClassName('left')[0];

  55. var oMessage = document.getElementById('message');

  56. for(var i=0;i<aLi.length;i++){

  57. aLi[i].index = i+1;

  58. aLi[i].ondragstart = function(ev){

  59. //事件对象ev

  60. var evev = ev || event;

  61. ev.dataTransfer.setData("Text",this.id);

  62. }

  63. }

  64. oLeft.ondrop = function(ev){

  65. var evev = ev || event;

  66. var data = ev.dataTransfer.getData("Text");

  67. var num = document.getElementById(data).index;

  68. document.getElementById(data).remove();

  69. oMessage[xss_clean] = "列表"+num+"被放进了垃圾箱";

  70. this.style.color = "black";

  71. }

  72. oLeft.ondragover = function(ev){

  73. var evev = ev || event;

  74. ev.preventDefault();

  75. }

  76. oLeft.ondragenter = function(){

  77. this.style.color = "#fff";

  78. }

  79. }

  80. script>

  81. head>

  82. <body>

  83. <div class="main">

  84. <div class="left">垃圾箱div>

  85. <div class="right">

  86. <ul>

  87. <li id="item1" draggable="true">列表1li>

  88. <li id="item2" draggable="true">列表2li>

  89. <li id="item3" draggable="true">列表3li>

  90. <li id="item4" draggable="true">列表4li>

  91. <li id="item5" draggable="true">列表5li>

  92. <li id="item6" draggable="true">列表6li>

  93. ul>

  94. div>

  95. <div style="clear: both;">div>

  96. div>

  97. <div id="message">拖到垃圾箱删除列表div>

  98. body>

  99. html>

到此,相信大家对"HTML5拖拽的相关知识点"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0