IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Identifier l'élément qui enclenche l'événement


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut Identifier l'élément qui enclenche l'événement
    bonjour j'utilise une element déplaçable sous forme d'image et déplacer dans un tableau je veux savoir dans quel id de colonne se placer?

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Tu veux dire que tu cherches à trouver l'id de la colonne où tu déposes l'image à la fin du déplacement?

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    exactement

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    une petite lecture de l'API ne fait pas de mal
    http://www.w3schools.com/html/html5_draganddrop.asp

    le paramètre event reçu par la méthode appelée lors d'un drop corresponds à l'événement de dépôt. il contient les référence au données de l'événement drag associé et à l'objet du DOM sur lequel se fait le dépôt event.taget.

    mais si tu à mis ton code sur ondrop d'un élément HTML l'objet this est tout simplement cet élément HTML.

    A+JYT

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    pour ce script comment faire pour resoudre ce problème?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <html>
    <head>
      <meta charset="utf-8">
      <title></title>
    </head>
    <body>
    <script type="text/javascript">
    var isdrag=false;
    var x,y;
    var dobj;
    function movemouse(e)
    {
      if (isdrag)
      {
        dobj.style.left = tx + e.clientX - x ;
        dobj.style.top  = ty + e.clientY - y ;
        return false;
      }
    }
    function selectmouse(e)
    {
      var fobj = e.target;
       if (fobj.className=="dragme")
      {
        isdrag = true;
        dobj = fobj;
        tx = parseInt(dobj.style.left+0,10);
        ty = parseInt(dobj.style.top+0,10);
        x = e.clientX;
        y = e.clientY;
     
        document.onmousemove=movemouse;
        return false;
      }
    }
    document.onmousedown=selectmouse;
    document.onmouseup=function(){isdrag=false;};
    </script>
     
    <style type="text/css">
            .dragme{position:absolute;
    		  visibility:visible;
    		}
    </style>
     
     
    <img src="http://i.imgur.com/c1m9UYF.png?1" alt="drag-and-drop image script" style="cursor:move;" title="drag-and-drop image script" class="dragme" id="croix">
     
     
    <table> 
        <tr id="ch1">
            <td ><img src="http://i.imgur.com/p1KPWBz.png?1" title="source: imgur.com" /></td>
        </tr>
        <tr id="ch3">
            <td><img src="http://i.imgur.com/p1KPWBz.png?1" title="source: imgur.com" /></td>
        </tr>
        <tr id="ch3">
            <td><img src="http://i.imgur.com/p1KPWBz.png?1" title="source: imgur.com" /></td>
        </tr>
          </table>
    	</body>
    </html>

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    ou est le drag and drop la dedans ??

    Comme tu peux le voir dans cet exemple l'image drag1 gère l'événement dragStart (attribut ondargstart)
    et le Div div1 gère l'événement drop (attribut ondrop)
    de plus le Div div1 gère l'événement allowDrop

    ainsi lorsque l'utilisateur drage l'image la fonction drag est activée. dans cet exemple
    on associe à la propriété "text" des data de cet event l'id de l'image.

    lorsque l'utilisateur dépose l'image sur le Div la fonction drop est activée.
    dans ce code on attache dans le div l'image ev.target.appendChild(document.getElementById(data));.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <!DOCTYPE HTML>
    <html>
    <head>
    <script>
    function allowDrop(ev) {
        ev.preventDefault();
    }
     
    function drag(ev) {
        ev.dataTransfer.setData("text", ev.target.id);
    }
     
    function drop(ev) {
        ev.preventDefault();
        var data = ev.dataTransfer.getData("text");
        ev.target.appendChild(document.getElementById(data));
    }
    </script>
    </head>
    <body>
     
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
     
    <img id="drag1" src="img_logo.gif" draggable="true"
    ondragstart="drag(event)" width="336" height="69">
     
    </body>
    </html>

    je ne vois pas de drag et drop dans ton code.
    A+JYT

  7. #7
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    votre code de div ne permet pas de déplâcer l'element, mais je trouve ce code dans un autre forum et je pense que ça marche.merci pour votre aide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
     
    <style type="text/css">
     
    	body{
    	background:#b2bdc6;
    }
     
    		#tds{
    			margin: 0px 100px;
    		 	background: white;
    		}
     
    		#tds td{
    			height:96px;
    			width:82px;
    			border: 3px solid black;
    		}
     
    		#tds td img{
    			display:block;
    			margin:auto;
    			margin-top:-10px;
    		}
     
    </style>
     
    <script type="text/javascript">
     
    var elem=''
     
    function drag(e){
     
    	var lui=typeof window.addEventListener != 'undefined' ? e.currentTarget : window.event.srcElement;
     
    	elem=lui
    	e =(!e) ? window.event : e;
    	e.dataTransfer.setData('Text','r');
     
    }
     
    function droper(e){
     
    	typeof window.addEventListener != 'undefined' ? e.preventDefault() : event.returnValue = false;
     
    	var obj = typeof window.addEventListener != 'undefined' ? e.currentTarget : window.event.srcElement;
     
    	var valeur = e.dataTransfer.getData("Text");
    	obj.appendChild(elem)
     
    	alert(obj.parentNode.id)
    }
     
    function init(){
     
    	var all=document.getElementById('tds').getElementsByTagName("td")
     
    	for (var i=0; i<all.length; i++){
     
    		all[i].ondragover=function(){return false}
     
    		if(typeof window.addEventListener == 'undefined'){
     
    			all[i].attachEvent('ondrop', droper);
    		}
    		else{
     
    			all[i].addEventListener('drop', droper, false);
    		}
    	}
    }
     
    onload=init
     
    </script>
    </head>
    </body>
    <img ondragstart='drag(event)' draggable='true' src="http://i.imgur.com/c1m9UYF.png?1" alt="drag-and-drop image script" style="cursor:move;" title="drag-and-drop image script" class="dragme" id="croix">
     
    <table id='tds'> 
     
        <tr id="ch1">
    	<td></td>
        </tr>
     
        <tr id="ch2">
         <td></td>
        </tr>
     
        <tr id="ch3">
        <td></td>
        </tr>
     
          </table>
    	</body>
    </html>
    mais il m'a dit comme toi "il faut utiliser l'api drag & drop " .merci ...sujet resolu.

  8. #8
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    non mon code permet de déplacer l'image dans le div
    A+JYT

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 04/10/2011, 12h53
  2. Réponses: 0
    Dernier message: 21/07/2011, 19h50
  3. identifier l'élément qui a reçu le clic
    Par sebac dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 29/03/2010, 11h36
  4. [array] supprimer un élément qui n'est pas le dernier
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 16/04/2008, 20h41
  5. Récupérer l'id d'un élément qui vient d'être inséré
    Par sg-40 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2004, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo