html5拖拽

  以前開發寫了一個拖拽的小demo,因此記錄一下拖拽相關的知識。api

  下面這段摘自張鑫旭老師的文章.對象

  1.DataTransfer 對象:退拽對象用來傳遞的媒介,使用通常爲Event.dataTransfer。
  2.draggable 屬性:就是標籤元素要設置draggable=true,不然不會有效果,例如:
  3.ondragstart 事件:當拖拽元素開始被拖拽的時候觸發的事件,此事件做用在被拖曳元素上
  4.ondragenter 事件:當拖曳元素進入目標元素的時候觸發的事件,此事件做用在目標元素上
  5.ondragover 事件:拖拽元素在目標元素上移動的時候觸發的事件,此事件做用在目標元素上
  6.ondrop 事件:被拖拽的元素在目標元素上同時鼠標放開觸發的事件,此事件做用在目標元素上
  7.ondragend 事件:當拖拽完成後觸發的事件,此事件做用在被拖曳元素上
  8.Event.preventDefault() 方法:阻止默認的些事件方法等執行。在ondragover中必定要執行preventDefault(),不然ondrop事件不會被觸發。另外,若是是從其餘應用軟件或是文件中拖東西進來,尤爲是圖片的時候,默認的動做是顯示這個圖片或是相關信息,並非真的執行drop。此時須要用用document的ondragover事件把它直接幹掉。
  9.Event.effectAllowed 屬性:就是拖拽的效果。事件

  10.void setDragImage({Element} image, {long} x, {long} y) :設置拖動時跟隨鼠標移動的圖片,用來替代默認的元素,若image不是圖片元素則會元素臨時轉換爲圖片;x用於設置圖標與鼠標在水平方向上的距離,y設置圖標與鼠標在垂直方向上的距離。僅在 dragstart 事件中調用。IE10+不支持該方法。這個方法很重要,在你不想要默認的拖拽樣式時,它就能夠幫到你啦~~圖片

  由於上面幾個方法均可以查獲得api,因此仍是記一下本身碰到問題的setDragImage方法吧,這個方法在使用元素的時候元素必須是在DOM節點上,而且display不爲none的元素。實際使用的時候你能夠把這個節點 position 給一個至關大的負值把它移出頁面。開發

相關文章
相關標籤/搜索