划时代的Web API ?面是使ffiModemizr检测~ij览器对Drag&Drop APl支持情况CBJ代码: if( !Modernizr .draganddrop){//判断当前浏览嚣是否支持拖放 //开发人员可以在这里提醒用户测览嚣不支持,井采用优雅降级处理方案 ) 3.3.4 Drag&Drop API的主要操作 Drag&Drop API主要包含三方面的内容:事件、属性和接口,下面济南网站建设公司小编对它们一一进行讲解。 1.主要事件 下面是拖放的相关事件,按照拖放的过程分为7个。 口dragstarto拖动开始的事件,需绑定在拖曳对象上。 口drago从dragst art开始后到dragend结束前,在拖动时这个事件不断出现,需绑定在 拖曳对象上。 口dragendo拖动结束的事件,需绑定在拖曳对象上。 口dragentero拖到当前元素区域内的事件,需绑定在推曳对象所拖曳的对象上。 口dragovero拖到当前元素的区域上的事件,这个事件在拖动过程中不断被触发,需绑定 在拖曳对象正拖曳到的对象上。 口dragleaveo拖出当前元素区域的事件,需绑定在拖曳对象刚刚拖曳刭的对象上。 口dropo在当前元素区域停止拖曳的事件,需绑定在拖曳对象所放置到的对象上。 一个完整的拖放事件过程如图34所示,我们可以轻松地使用上面的事件来处理复杂的拖放 行为。 图 3-4 2.相关属性 默认情况下,img和a标签可以进行拖放。如果其他类型的节点也需要支持拖动,必须添加 属性draggable=n true-o使一个元素支持拖动其实非常简单,第一要为此元素设置draggable 属性,第二需要为它的dragstart事件添加函数来处理拖曳数据。 Drag&Drop API还有一个dropzone属性,用于设置放置目标区域所允许的文件类型和反馈 方式,例如用move s:text /plain表示展现数据移动的效果和接受任何文本的放置,用copy f:image/png表示展现数据复制的效果和接受png格式图片的放置。因此,要使一个元素允许其 他拖曳元素放置到它之上,此元素必须要有dropzone属性并且监听drop事件(和上面元素支持 拖曳的两个条件非常相似)o不过,我们也可以采用为放置元素自定义事件处理的方式来代替 dropzone属性,这就需要我们在dragenter事件里判断此元素是否支持放置以及茌dragover 事件里指定为用户显示什么样的反馈效果。