HTML5實現拖放

ngww 9年前發布 | 3K 次閱讀 JavaScript HTML5

在html5中,支持拖放API接口,通過該功能,數據可以在瀏覽器與其他應用程序之間互相拖放,想要實現該操作,必須經過一下兩個步驟
(1)將想要拖放的對象標簽的draggable屬性設為true。這樣才能將該標簽進行拖放,令外,img標簽與a標簽必  須指定為true,默認允許拖放。
 (2)編寫與有拖放有關的事件處理代碼,常用的播放事件如下:
 dragstart  開始拖放操作
 drag       拖放過程中
 dragenter  被拖放的標簽開始進入本標簽的范圍內
 dragover   被拖放的標簽正在本標簽范圍內移動
 dragleave  被拖放的標簽離開本標簽的范圍
 drop       有其他的標簽被拖放到本標簽中
 dragend    拖放操作結束

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>拖放</title>
<script type="text/javascript">
function init() 
{
    // (1) 拖放開始
    source.addEventListener("dragstart", function(ev) 
    {
       //(1) 向dataTransfer對象追加數據
        var dt = ev.dataTransfer;
        dt.effectAllowed = 'all';    
       //(2) 拖動元素為dt.setData("text/plain", this.id); 
        dt.setData("text/plain", "你好"); 
    }, false);
      // (3) dragend:拖放結束
    dest.addEventListener("dragend", function(ev) 
    {
        //不執行默認處理(拒絕被拖放)
        ev.preventDefault();
     }, false);
    // (4) drop:被拖放
    dest.addEventListener("drop", function(ev) 
    {
        // 從DataTransfer對象那里取得數據
        var dt = ev.dataTransfer;
        //(5) 不執行默認處理(拒絕被拖放)
        ev.preventDefault();
        //停止事件傳播
        ev.stopPropagation();
    }, false);
}
</script>
</head>
<body onload="init()">
<h5>請拖放</h5>
</html>



 在上述的代碼中,在頁面加載時,自動觸發inint()事件。該事件中包括拖放開始,被拖放和結束拖放三個函數。在瀏覽器中打開該網頁,鼠標拖動顯示到網頁中的晚間圖片,網頁會自動加載要的內容。

 本文由用戶 ngww 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!