| 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
 
 | var FC = {// 5, 7)
  DOM: {
    getElementsByClassName: function(classe, noeud, balise) {
      var elements = [];// 2)
      if (document.getElementsByClassName) { elements = document.getElementsByClassName(classe); }
      else {
        if (noeud === undefined || noeud === null) { noeud = document; }// 3, 8)
        if (balise === undefined || balise === null) { balise = "*"; }
        var elementsAParcourir = noeud.getElementsByTagName(balise);// 2)
        var pattern = new RegExp("(^|\\s)" + classe + "(\\s|$)");
        for (var i = 0, imax = elementsAParcourir.length; i < imax; i++) {
          if (pattern.test(elementsAParcourir[i].className)) { elements.push(elementsAParcourir[i]); }
        }
      }
      return elements;
    }
  },
  Evenement: {
    ajouter: function(elm, evt, fn) {
      if (document.addEventListener) {
        if (elm.nodeType===1 || elm.nodeType===9) { // 8)
          elm.addEventListener(evt, function(e) {
            if (!fn(e)) { e.preventDefault(); }
          }, false);
        } else {
          for (var i = 0, imax = elm.length; i < imax; i++) {// 4)
            elm[i].addEventListener(evt, function(e) {
              if (!fn(e)) { e.preventDefault(); }
            }, false);
          }
        }
      } else if (document.attachEvent) {
        if (elm.nodeType===1 || elm.nodeType===9) {
          var r = elm.attachEvent("on" + evt, fn);
          return r;
        } else {
          for (var i = 0, imax = elm.length; i < imax; i++) {
            var r = elm[i].attachEvent("on" + evt, fn);
            return r;
          }
        }
      }
    }
  }
};
FC.Evenement.ajouter(document, "click", function(e) {// 6, 7)
  var elm = e.target || event.srcElement;
  if (elm.className.indexOf("div")==-1) {
    var elms = FC.DOM.getElementsByClassName("div");
    for (var i=0, imax=elms.length;i<imax;i++) {
      elms[i].style.display="none";
    }
  }
}); | 
Partager