Последние учебники веб-разработки
×

JS Руководство

JS ГЛАВНАЯ JS Введение JS Куда JS Вывод JS Синтаксис JS Заявления JS Комментарии JS переменные JS операторы JS арифметика JS присваивание JS Типы данных JS функции JS Объекты JS Объем JS Мероприятия JS Строки JS Методы струнных JS чисел JS Методы Number JS математический JS Даты JS Форматы даты JS Методы Дата JS Массивы JS Методы массивов JS Booleans JS Сравнения JS условия JS переключатель JS петля For JS В то время как Loop JS Ломать JS Тип преобразования JS RegExp JS ошибки JS отладка JS Подъемно JS Строгий режим JS Гид по стилю JS Лучшие практики JS Ошибки JS Представление JS Зарезервированные слова JS JSON

JS формы

Формы проверки Формы API

JS объект

Определения объектов Свойства объекта Методы объекта Прототипы объектов

JS функции

Определения функций Функциональные параметры Функция Призвание Функция Затворы

JS HTML DOM

DOM вступление DOM методы DOM Документ DOM элементы DOM HTML DOM CSS DOM Анимации DOM Мероприятия DOM EventListener DOM навигация DOM Вершины DOM Nodelist

JS браузер BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Примеры

JS Примеры JS HTML DOM JS HTML вход JS HTML Объекты JS HTML Мероприятия JS браузер JS викторина JS Резюме

JS Рекомендации

JavaScript Объекты HTML DOM Объекты


 

JavaScript HTML DOM EventListener


addEventListener() метод

пример

Добавить прослушиватель событий, что пожары, когда пользователь нажимает на кнопку:

document.getElementById("myBtn").addEventListener("click", displayDate);
Попробуй сам "

addEventListener() метод придает обработчик событий для указанного элемента.

addEventListener() метод придает обработчик событий к элементу без перезаписи существующих обработчиков событий.

Вы можете добавить много обработчиков событий к одному элементу.

Вы можете добавить множество обработчиков событий одного и того же типа к одному элементу, то есть два "click" событий.

Вы можете добавлять обработчики событий к любому DOM объекта не только HTML элементов. то есть объект окна.

addEventListener() метод позволяет легче контролировать , как событие реагирует на бульканье.

При использовании addEventListener() метод, то JavaScript отделена от HTML - разметки, для лучшей читаемости и позволяет добавлять обработчики событий , даже если вы не контролировать HTML - разметку.

Вы можете легко удалить слушатель события с помощью removeEventListener() метод.


Синтаксис

element .addEventListener( event, function, useCapture );

Первым параметром является тип события (например , "click" или "mousedown" ).

Второй параметр является функцией мы хотим вызвать, когда происходит событие.

Третий параметр представляет собой логическое значение, определяющее, следует ли использовать восходящей цепочки события или захвата видео событий. Этот параметр является необязательным.

Обратите внимание , что вы не используете "on" префикс для события; использовать "click" вместо "onclick" .


Добавление обработчика событий к элементу

пример

Предупреждение "Hello World!" когда пользователь нажимает на элемент:

element .addEventListener("click", function(){ alert("Hello World!"); });
Попробуй сам "

Вы также можете обратиться к внешней функции "под названием":

пример

Предупреждение "Hello World!" когда пользователь нажимает на элемент:

element .addEventListener("click", myFunction);

function myFunction() {
    alert ("Hello World!");
}
Попробуй сам "

Добавить много обработчиков событий к одному элементу

addEventListener() метод позволяет добавлять множество событий к одному элементу, без перезаписи существующих событий:

пример

element .addEventListener("click", myFunction);
element .addEventListener("click", mySecondFunction);
Попробуй сам "

Вы можете добавлять события различных типов к одному элементу:

пример

element .addEventListener("mouseover", myFunction);
element .addEventListener("click", mySecondFunction);
element .addEventListener("mouseout", myThirdFunction);
Попробуй сам "

Добавление обработчика событий для объекта окна

addEventListener() метод позволяет добавлять обработчики событий на любой объект DOM HTML , такие как HTML - элементов, в HTML - документе, объект окна или других объектов , которые поддерживают события, как xmlHttpRequest объект.

пример

Добавить прослушиватель событий, что пожары, когда пользователь изменяет размер окна:

window.addEventListener("resize", function(){
    document.getElementById("demo").innerHTML = sometext ;
});
Попробуй сам "

Передача параметров

При передаче значения параметров, используйте "анонимную функцию", которая вызывает указанную функцию с параметрами:

пример

element .addEventListener("click", function(){ myFunction(p1, p2); });
Попробуй сам "

Событие Bubbling или перехвате событий?

Есть два способа распространения событий в HTML DOM, кипящий и захватывая.

Распространение событий является способ определения порядка элементов, когда происходит событие. Если у вас есть <p> элемента внутри <div> элемент, и пользователь нажимает на <p> элемента, элемента "click" событие должно быть обработано в первую очередь?

В кипящий событием Внутреннюю элемента обрабатывается первым , а затем внешний: The <p> событие щелчка элемента обрабатывается первым, то <div> событие щелчка элемента.

В захвате событий на самой внешней элемента обрабатывается первым , а затем внутренняя: в <div> событие щелчка элемента будет обрабатываться первым, затем <p> событие щелчка элемента.

С помощью addEventListener() метод вы можете указать тип распространения с помощью "useCapture" параметр:

addEventListener( event , function , useCapture );

Значение по умолчанию является ложным, который будет использовать кипящий распространение, когда значение устанавливается истина, событие использует распространение захвата.

пример

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);
Попробуй сам "

removeEventListener() метод

removeEventListener() метод удаляет обработчики событий , которые были прикреплены с addEventListener() метод:

пример

element .removeEventListener("mousemove", myFunction);
Попробуй сам "

Поддержка браузеров

Числа в таблице определяет первую версию браузера, который полностью поддерживает эти методы.

метод
addEventListener() 1.0 9.0 1.0 1.0 7.0
removeEventListener() 1.0 9.0 1.0 1.0 7.0

Примечание: addEventListener() и removeEventListener() методы не поддерживаются в IE 8 и более ранних версиях и Opera 6.0 и более ранних версий. Однако для этих конкретных версий браузеров, вы можете использовать attachEvent() метод , чтобы присоединить обработчики событий к элементу, и detachEvent() метод , чтобы удалить его:

element. attachEvent (event, function);
element.
detachEvent (event, function);

пример

Решение кросс-браузер:

var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // For all major browsers, except IE 8 and earlier
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // For IE 8 and earlier versions
    x.attachEvent("onclick", myFunction);
}
Попробуй сам "

Ссылка на объект HTML DOM Event

Для получения списка всех событий HTML DOM, смотрите на нашем полный HTML DOM Event Object Reference .