| 12
 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
 
 |  
<html>
  <head>
    <style type="text/css">
      .div1{
        width: 200px; 
        height: 200px;
        border: 1px solid #AAAAAA;
      }
      .overDiv {background-color : red;}
      .outDiv {background-color: white;}
      .overSpan {background-color: orange;}
      .outSpan {background-color: white;}
    </style>
 
 
    <script type="text/javascript">
 
      function out1(e) {
          // compatibilité
          if (!e) var e = window.event;
 
          // élément duquel on arrive 
          var tg = (window.event) ? e.srcElement : e.target;
          if (tg.id != 'div') {
              return;
          }
 
          // élément vers lequel on va
          var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
          while (reltg != tg && reltg.nodeName != 'BODY') {
              reltg = reltg.parentNode
          }
 
          // ?
          if (reltg == tg) {
              return;
          }
 
          // action
          this.className = "outDiv";
          document.getElementById("msg").innerHTML += " (div out)";
      }
 
      function over1(e) {
          // action
         this.className = "overDiv";
        document.getElementById("msg").innerHTML += " (div over)";
 
        //On stop la propagation de tous les éléments enfant
        if(e.cancelBubble)
        {
              e.cancelBubble = true;
        }
        else {
              e.stopPropagation();
        }
 
        return;
      }
    </script>
  </head>
 
  <body>
   <div style="width:400px;height:400px;background-color:green;">
    <div id="div" class="outDiv" style="width: 200px;height:200px;border:1px solid #AAAAAA;">
      bla bla bla bla bla bla bla bla bla bla bla bla
      <span id="span" class="outSpan" style="color: #0000FF; font-weight: bold">
          contenu du span contenu du span contenu du span contenu du span
      </span>
      <div style="width:40px;height:40px;background-color:yellow;">
      </div>
      bla bla bla bla bla bla bla bla bla bla bla bla
      bla bla bla bla bla bla bla bla bla bla bla bla
    </div>
 
    <p id="msg"></p>
  <div>
    <script type="text/javascript">
      var div=document.getElementById("div");
      div.addEventListener("mouseover", over1, false);
      div.addEventListener("mouseout", out1, false);
    </script>
 
  </body>
</html> | 
Partager