Page 126 - 6108
P. 126

var rect = document.getElementById("rect");
                      rect.addEventListener("click", function (e) {
                          alert(e.type);
                      });
                      function handler(e){
                          alert(e.type);
                      }
                      rect.addEventListener(("click", handler);

                      Метод дозволяє встановити більше одного обробника одного типу.

                      let clicks = 0;
                      function handlerOne(e){
                          alert(e.type);
                      }
                      function handlerTwo(e){
                          clicks++;
                          var newNode = document.createElement("p");
                          newNode.textContent = "Клікнуто " + clicks + " раз";
                          document.body.appendChild(newNode);
                      }
                      var rect = document.getElementById("rect");
                      rect.addEventListener("click", handlerOne, true);
                      rect.addEventListener("click", handlerTwo);
                      Зняти  такі  обробники  дозволяє  метод  removeEventListener().
               Обробник  визначається  типом  події,  самою  функцією  обробки  події,  і
               додатковими параметрами, переданими при реєстрації обробника.

                      target.removeEventListener(type, listener[, options]);
                      target.removeEventListener(type, listener[, useCapture]);


                      Параметри  методу  аналогічні  методу  addEventListener().  Проте,
               якщо  обробник  був  зареєстрований  двічі,  один  раз  з  перехопленням  (з
               useCapture  =  true)  і  один  -  без,  кожен  з  них  повинен  бути  вилучений
               окремо.  Видалення  перехоплюючого  обробника  ніяк  не  зачіпає  версію  без
               перехоплення цього ж обробника, і навпаки.

                      rect.removeEventListener("click", handlerOne, true);
                      rect.removeEventListener("click", handlerTwo);

                      Метод dispatchEvent() відправляє подія в загальну систему подій. Ця
               подія  підпорядковується  тим  же  правилам  поведінки  "захоплення"  і
               "спливання" як і безпосередньо ініційовані події.

                      target.dispatchEvent (event)

                      event – об'єкт події, що ініціалізується.
                      target – використовується для ініціалізації  Event.target і установки
               події, яку викликає обробник.
                     3.5.2 Порядок обробки подій

                      Події можуть виникати не тільки по черзі, а й «пачкою» по багато відразу.
               Можливо і таке, що під час обробки одного події виникають інші, наприклад
   121   122   123   124   125   126   127   128   129   130   131