1 // 拖動變換順序 2 var moveItem=document.getElementsByClassName('layui-timeline-item'); 3 dragElement=null; 4 for(var i=0;i<moveItem.length;i++){ 5 moveItem[i].addEventListener('dragstart',function (evt) { 6 dragElement=this; 7 },false); 8 moveItem[i].addEventListener('dragenter',function (evt) { 9 10 if(dragElement != this){ 11 this.parentNode.insertBefore(dragElement,this); 12 } 13 },false); 14 moveItem[i].addEventListener('dragleave',function (evt) { 15 var lists=$('.layui-timeline-item'); 16 for(var j=0;j<lists.length;j++){ 17 lists.eq(j).j=j; 18 var list=lists.eq(j).prevAll().length; 19 $('.layui-timeline-item').eq(j).find('span:eq(0)').text(list+1); 20 } 21 if(dragElement != this){ 22 if(this == this.parentNode.lastElementChild || this == this.parentNode.lastChild){ 23 this.parentNode.appendChild(dragElement); 24 } 25 } 26 },false) 27 }; 28 document.ondragover = function(e){e.preventDefault();} 29 document.ondrop = function(e){e.preventDefault();}
1 在拖放的過程中會觸發以下事件: 2 3 在拖動目標上觸發事件 (源元素): 4 ondragstart - 用戶開始拖動元素時觸發 5 ondrag - 元素正在拖動時觸發 6 ondragend - 用戶完成元素拖動后觸發 7 8 釋放目標時觸發的事件: 9 ondragenter - 當被鼠標拖動的對象進入其容器范圍內時觸發此事件 10 ondragover - 當某被拖動的對象在另一對象容器范圍內拖動時觸發此事件 11 ondragleave - 當被鼠標拖動的對象離開其容器范圍內時觸發此事件 12 ondrop - 在一個拖動過程中,釋放鼠標鍵時觸發此事件