Maison > interface Web > js tutoriel > événement glisser-glisser html

événement glisser-glisser html

韦小宝
Libérer: 2018-05-18 15:39:46
original
3470 Les gens l'ont consulté

En HTML, le traitement des événements s'effectue en js HTML, js et css sont indissociables. Ce qui suit est un exemple de gestion des événements glisser-déposer dans js.

L'événement glisser est divisé en deux parties, l'une est le traitement de la cible du glisser (c'est-à-dire la cible du glisser) ; .

Événement déclencheur sur la cible du glisser (élément source) :

ondragstart - déclenché lorsque l'utilisateur commence à faire glisser l'élément

ondrag - déclenché lorsque l'élément est déplacé

ondragend - déclenché une fois que l'utilisateur a fini de faire glisser l'élément

Événement déclenché lorsque la cible est relâchée :

ondragover - Cet événement est déclenché lorsque l'objet déplacé par la souris entre dans son conteneur

ondragover - Cet événement est déclenché lorsqu'un objet déplacé est glissé dans le conteneur d'un autre objet

ondragleave - Cet événement est déclenché lorsque l'objet déplacé par la souris quitte la portée de son conteneur

ondrop - Cet événement est déclenché lorsque le bouton de la souris est relâché lors d'un processus de glissement

Le code d'implémentation est le suivant : la box1 et les listes peuvent être glissées les unes vers les autres

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box1{width: 200px;height: 250px;border:2px solid red;}
        #lists{ width:200px; height:250px; list-style: none;padding: 0;margin: 10px 0px; border:2px solid blue;}
        li{width: 150px;height: 30px; margin: 5px 0; padding:0;background: #ccc; line-height:30px;text-align: center ;}
    </style>
    <script>
        window.onload=function () {
            var box1=document.getElementById("box1");
            var lists=document.getElementById("lists");
            var lis=document.getElementsByTagName("li");
            for(var i=0;i<lis.length;i++){
                lis[i].draggable=true;
                lis[i].flag=false;
                //1、拖拽开始
                lis[i].ondragstart=function () {
                    this.flag=true;
                }
                //2、拖拽移动
                 two.ondrag=function () {

                }
                //3、拖拽结束
                lis[i].ondragend=function () {
                    this.flag=false;
                }
            }
            //投放区事件
            //1、进入投放区
            box1.ondragenter=function (e) {
                e.preventDefault();
            }
            //2、在投放区内移动
            box1.ondragover=function (e) {
                e.preventDefault();
            }
            //3、离开投放区
            box1.ondragleave=function (e) {
                e.preventDefault();
            }
            //4、完成投放 此时可以在投放区内做处理
            box1.ondrop=function (e) {
                e.preventDefault();
                for(var i=0;i<lis.length;i++){
                    if(lis[i].flag){
                        box1.appendChild(lis[i]);
                    }
                }
            }

            lists.ondragenter=function (e) {
                e.preventDefault();
            }
            lists.ondragover=function (e) {
                e.preventDefault();
            }
            lists.ondragleave=function (e) {
                e.preventDefault();
            }
            lists.ondrop=function (e) {
                e.preventDefault();
                for(var i=0;i<lis.length;i++){
                    if(lis[i].flag){
                        lists.appendChild(lis[i]);
                    }
                }
            }
        }
    </script>
</head>
<body>
    <p id="box1"></p>
    <ul id="lists">
        <li>数据1</li>
        <li>数据2</li>
        <li>数据3</li>
        <li>数据4</li>
        <li>数据5</li>
        <li>数据6</li>
    </ul>
</body>
</html>
Copier après la connexion

Parmi eux : la méthode getElementsByTagName() renvoie une collection d'objets avec le nom de balise spécifié.

e.preventDefault(); sert à empêcher l'événement de glissement par défaut du système.

appendChild() ajoute un contrôle au contrôle spécifié.

e.preventDefault();
Copier après la connexion

Ce qui précède est tout le contenu de l'événement drag html, j'espère que cela sera utile à tout le monde.

Recommandations associées :

Utilisez JS et HTML pour créer un simple code de carnet de croquis

Processus Js d'exploitation des objets DOM

Problèmes liés à HTML JS

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal