首页前端开发HTMLhtml5拖拽应用记录及注意点

html5拖拽应用记录及注意点

时间2024-01-25 05:46:57发布访客分类HTML浏览202
导读:收集整理的这篇文章主要介绍了html5拖拽应用记录及注意点,觉得挺不错的,现在分享给大家,也给大家做个参考。 下面通过代码给大家介绍htML5拖拽应用记录,具体代码如下所示:e.datatransfer.setData("a","...
收集整理的这篇文章主要介绍了html5拖拽应用记录及注意点,觉得挺不错的,现在分享给大家,也给大家做个参考。

下面通过代码给大家介绍htML5拖拽应用记录,具体代码如下所示:

e.datatransfer.setData("a","设置的值");
    e.dataTransfer.getData("a");
function drop(e){
        !--尝试console.LOG(e),这里能拿到好多你用得到的api-->
        e.dataTransfer.setData("a", e.target.id);
}
    

拖动元素

被拖动的元素上要加入入Draggable="true"属性

一些注意点:

drop 必须配上 dragover,否则事件不生效

document.getElementById('right').ondragover = function (ev) {
        ev.preventDefault();
 //阻止向上冒泡}
document.getElementById('right').ondrop = function (ev) {
        ev.PReventDefault();
     //阻止向上冒泡    console.log("放入");
}
    

react中使用事件必须是驼峰,例如:onDragOver

vue中在ui库组件上加的时候记得加 .native,例如:@drop.native

完整测试案例

!DOCTYPE html>
    html lang="en">
    head>
        meta charset="UTF-8">
        tITle>
    Title/title>
        style>
        *{
                margin: 0;
                padding: 0;
        }
        .div1{
                width: 200px;
                height: 200px;
                border: 1px solid red;
                position: relative;
                margin-left:20px;
                float: left;
        }
        .div2{
                width: 200px;
                height: 200px;
                border: 1px solid blue;
                position: relative;
                margin-left:20px;
                float: left;
        }
        .div3{
                width: 200px;
                height: 200px;
                border: 1px solid green;
                position: relative;
                margin-left:20px;
                float: left;
        }
        p{
                background-color: orange;
                margin-top: 5px;
        }
        /style>
    /head>
    body>
    div class="div1" id="div1">
        !--在h5中,如果想拖拽元素,就必须为元素添加draggable="true". 图片和超链接默认就可以拖拽-->
        p id="pe" draggable="true">
    试着把我拖过去/p>
        p id="pe1" draggable="true">
    试着也把我拖过去/p>
    /div>
    div class="div2" id="div2">
    /div>
    div class="div3" id="div3">
    /div>
    script>
        /*学习拖拽,主要就是学习拖拽事件*/    VAR p=document.querySelector("#pe1");
        var div2=document.querySelector("#div2");
        var div3=document.querySelector("#div3");
    /*应用于被拖拽元素的事件    *ondrag         应用于拖拽元素,整个拖拽过程都会调用--持续     ondragstart    应用于拖拽元素,当拖拽开始时调用     ondragleave    应用于拖拽元素,当鼠标离开拖拽元素时调用     ondragend    应用于拖拽元素,当拖拽结束时调用*/    p.ondragstart=function(e){
            console.log("开始");
        e.dataTransfer.setDate("a")    }
    p.ondragend=function(){
            console.log("结束");
    }
    p.ondragleave=function(){
            console.log("离开目标");
    }
    p.ondrag=function(){
            // console.log("持续触发---111111");
    }
     /*应用于目标元素的事件    *ondragenter    应用于目标元素,当拖拽元素进入时调用     ondragover    应用于目标元素,当停留在目标元素上时调用     ondrop        应用于目标元素,当在目标元素上松开鼠标时调用     ondragleave    应用于目标元素,当鼠标离开目标元素时调用*/    div2.ondragenter=function(){
            console.log("进入目标1");
    }
    div2.ondragover=function(e){
            console.log(e);
            console.log("在目标1中盘旋");
            //console.log("ondragover");
            /*如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为*/        e.preventDefault();
    }
    /*浏览器默认会阻止ondrop事件:我们必须在ondragover中阻止浏览器的默认行为*/    div2.ondrop=function(){
            console.log("锁定目标1,降落");
            /*添加被拖拽的元素到当前目标元素*/        div2.appendChild(p);
    }
    div2.ondragleave=function(){
            console.log("离开目标1");
    }
    div3.ondragenter=function(){
            console.log("进入目标2");
    }
     div3.ondragover=function(e){
            console.log("在目标2中盘旋");
            //console.log("ondragover");
            /*如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为*/        e.preventDefault();
    }
    div3.ondrop=function(){
            console.log("锁定目标2,降落");
            /*添加被拖拽的元素到当前目标元素*/        div3.appendChild(p);
    }
    div3.ondragleave=function(){
            console.log("离开目标2");
    }
    /script>
    /body>
    /html>
    

总结

到此这篇关于html5拖拽应用记录的文章就介绍到这了,更多相关html5拖拽应用内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: HTML5实现直播间评论滚动效果的代...下一篇:recorder.js 基于Html5录音功能的...猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: html5拖拽应用记录及注意点
本文地址: https://pptw.com/jishu/586189.html
HTML5实现直播间评论滚动效果的代码 HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题

游客 回复需填写必要信息