Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Слушатель click на элементе (https://javascript.ru/forum/dom-window/43888-slushatel-click-na-ehlemente.html)

stigmat4j 25.12.2013 12:44

Слушатель click на элементе
 
Добрый день.

Столкнулся с такой проблемой.

Есть пара элементов, клик по которым отрабатывает некоторую функцию. Когда, посредством jquery append() добавляю ещё один элемент, то по клику он уже не отрабатывает. Как сделать глобальный слушатель клика по этим элементам?

Яростный Меч 25.12.2013 12:53

Повесить клик на патента, смотреть event.target

danik.js 25.12.2013 12:54

Варианта два:
1) Установить слушатель на их общего родителя, и в зависимости от источника события (первый, второй или третий элемент) - выполнять некий код. Это т.н. делегирование событий и в jQuery уже есть удобное средство работы с ним:
$('.parent').on('click', '.element1', function() {
    // эта функция отработает только если клик пришелся на .element1
});


2) Довешивать обработчик на элемент перед или после вызова append():
$el.click(listener).appendTo($parent);


Часовой пояс GMT +3, время: 11:55.