您的位置:首页 - 资讯 -  - 正文

HTML5中拖放功用的运用方法

     

拖放就是把一个块内容点击拖到其他一个方位,在HTML5中,拖放是标准的一部分,任何元素都可以拖放。

        现在有一下浏览器支撑拖放

Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支撑拖放。

注释:在 Safari 5.1.2 中不支撑拖放。

下面的例如是一个简单的拖放实例:

                    
        首要,为了使元素可拖动,把 draggable 特色设置为 true :
                  拖动什么 - ondragstart 和 setData()

         然后,规矩当元素被拖动时,会发生什么。

         在上面的例如中,ondragstart 特色调用了一个函数,drag(event),它规矩了被拖动的数据。

         dataTransfer.setData() 方法设置被拖数据的数据类型和值:
          function drag(ev)
            {
                ev.dataTransfer.setData("Text",ev.target.id);
            }

在这个例如中,数据类型是 "Text",值是可拖动元素的 id ("drag1")。

放到何处 - ondragover

ondragover 业务规矩在何处放置被拖动的数据。

默许地,无法将数据/元素放置到其他元素中。假设需设置容许放置,我们有必要阻遏对元素的默许处理方法。

这要通过调用 ondragover 业务的 event.preventDefault() 方法:

event.preventDefault()

进行放置 - ondrop

当放置被拖数据时,会发生 drop 业务。

在上面的例如中,ondrop 特色调用了一个函数,drop(event):

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}

代码说明:

调用 preventDefault() 来避免浏览器对数据的默许处理(drop 业务的默许动作是以链接方法翻开)
通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将回来在 setData() 方法中设置为相同类型的任何数据。
被拖数据是被拖元素的 id ("drag1")
把被拖元素追加到放置元素(政策元素)中