Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Повесить событие на еще не созданный елемент (https://javascript.ru/forum/css-html/49976-povesit-sobytie-na-eshhe-ne-sozdannyjj-element.html)

jeysmook 05.09.2014 18:43

Повесить событие на еще не созданный елемент
 
Подскажите пожалуйста, как можно повесить событие "CLICK", на еще не созданный елемент? Т.е. как сделать функцию похожую на live() в фреймворке Jquery, но только без использования самого фреймворка?

ixth 06.09.2014 17:57

Зачем лепить велосипед, если уже есть готовая функция?

BETEPAH 06.09.2014 23:02

<script>function live (eventType, elementId, cb) {
    document.addEventListener(eventType, function (event) {
        var el = event.target, found;
        while (el && !(found = el.id === elementId)) {
            el = el.parentElement;
        }
        if (found) {
            cb.call(el, event);
        }
    });
}

live("click", "test", function (event) {
    alert(this.id);
});
setTimeout(function() {
    var div = document.createElement('div');
    div.id = 'test';
    div.innerHTML = 'click me';
    document.body.appendChild(div);
}, 500)</script>

jeysmook 07.09.2014 11:32

BETEPAH, Спасибо большое.
ixth, Для понимания.

ixth 07.09.2014 15:25

Черт. Я сначала решил, что ее нужно сделать «в фреймворке Jquery, но только без использования самого фреймворка».


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