Html5原生拖拽操作怎么实现


这篇文章主要讲解了“Html5原生拖拽操作怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Html5原生拖拽操作怎么实现”吧!1. 拖拽过程
1.1 拖动事件当按住鼠标拖动draggable元素的时候会按照如下顺序依次触发dragstart -> drag -> dragenddragstart :在按住鼠标开始拖动时候触发(触发一次)drag :在按住鼠标拖动的过程触发(持续触发)dragend :在释放鼠标后触发(无论是把元素放到了有效的放置目标,还是放置到了无效的放置目标上)1.2 放置事件当将draggable元素元素拖动到容器中将会按照如下顺序依次触发dragenter -> dragover -> dropdragenter:只要有元素被拖动到放置目标上,就会触发dragenter事件
dragover:dragenter紧随其后的就是dragover事件,而且在被拖动的元素还在放置目标的范围内移动时,就会持续触发该事件。
dragleave:元素被拖出了放置目标,会触发dragleave
drop:将拖动元素放置到目标元素上的时候会激发1.3 完整事件流从开始拖动元素到放置元素到目标区域,将会按照如下顺序依次触发dragstart->drag->dragenter->dragover->dragleave->drop->dragend2. 解决firefox对拖拽不支持的问题如果我们直接给一个元素添加draggable属性,在chrome,opera中是可以直接进行拖拽(没有可以释放的操作(比如箭头变+号)),但是在firefox却没有反应要解决这个问题必须为拖拽元素绑定dragstart事件处理函数,并且在该函数中调用event.dataTransfer.setData函数3. 解决chrome,opera拖拽元素至容器中时没有显示可释放标识问题
可释放标识使用不同的操作系统可能不同,在mac chrome中出现的是一个圆形标识里面嵌入一个白色的’+’。解 香港云主机决方案是为容器绑定dragover事件4. 解决放置时firefox打开新选项卡问题使用firefox的时候如果释放了被拖拽的元素,默认浏览器将会打开一个新的选项卡,如下这是由于drop回调函数之后浏览器执行了默认行为,通常的解决方案在拖拽容器的drop钩子中添加阻止默认事件执行以及阻止冒泡的代码。但是如果将draggable元素拖到其他地方,依然会导致打开新选项卡问题的出现,这时可以为所有容器添加如上代码。5. 编写一个完整小例子感谢各位的阅读,以上就是“Html5原生拖拽操作怎么实现”的内容了,经过本文的学习后,相信大家对Html5原生拖拽操作怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: win10如何打开swf文件

这篇文章主要介绍了win10如何打开swf文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win10如何打开swf文件文章都会有所收获,下面我们一起来看看吧。swf是动画设计软件Flash的专用格式,被广泛应用于网页设计、动画制…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/18 17:51
下一篇 07/18 17:51

相关推荐