关键知识拖放事件当拖动一个元素时,会在被拖动的元素上触发以下事件:dragstart:被拖动元素开始被拖动时触发的事件元素拖动过程中一直触发dragend:拖动完成时触发的事件。当一个元素被拖放到一个有效的放置目标上时,放置目标最后一次依次触发以下事件:dragenter:元素被拖动时进入目标元素时触发的事件dragover:被拖动元素移动时触发的事件onthetargetelementdragleave:被拖动元素离开目标元素时触发的事件drop:被拖动元素同时放置在目标元素上触发事件自定义放置目标:当拖放元素经过一些无效的放置目标时,你可以看到一个特殊的光标(圆圈中的反斜杠),表示不能放下。虽然所有元素都支持放置目标事件,但这些元素默认情况下不允许放置。如果被拖动的元素经过了一个不允许被放下的元素,那么无论用户做什么,都不会触发放下事件。但是,您可以通过覆盖dragenter和dragover事件的默认行为使任何元素成为有效的放置目标。例如,如果可以使用以下代码将ID为“droptarget”的div元素转换为放置目标()}droptarget.addEventListener('draenter',function(event){event.preventDefault()}dataTransfer对象dataTransfer对象,是event对象的一个??属性,用于将字符串格式从被拖放的元素传递到droptarget数据detaTransfer对象有两个主要方法:getData()和setData()。setData()方法的第一个参数,也是getData()方法的唯一参数,是一个字符串,表示要保存的数据类型,取值为“text”和“URL”事件。dataTransfer.setData("文本","一些文本");vartext=event.dataTransfer.getData("文本");注意:dataTransfer对象中存储的数据只能在drop事件处理程序中读取。可拖动默认情况下,只有图像、链接和文本是可拖动的。也可以使其他元素可拖放。HTML5为所有的HTML元素指定了一个draggable属性,表示该元素是否可以被拖动。图片和链接的draggable属性自动设置为true,而其他元素的该属性默认值为false。通过设置该属性,可以将其他元素拖入
