Можно ли добавить обработчик, когда элемент загружается в DOM в Jquery? - PullRequest
0 голосов
/ 29 мая 2011

Я знаю, что могу сделать это:

$("#my_div").live("click", function() {
  alert("My Div was clicked");
}

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

Спасибо

Ответы [ 3 ]

1 голос
/ 29 мая 2011

Посмотрите на Live Query . Это позволяет вам запускать события, когда соответствующие элементы добавляются в DOM.

0 голосов
/ 29 мая 2011

Единственный способ добиться этого без использования плагина - это:

$('selecter').bind('DOMNodeInserted',
    function(){
        if ($('.newElementClassName').length > countOfNewDivs) {
            // new element matching new element's class-name has been added
            countOfNewDivs++;
            alert(countOfNewDivs);
        }
    });

JS Fiddle demo .

Примечание:

Это было протестировано только на Chromium 11 и Firefox 4 на Ubuntu 11.04; Я не думаю, что этот подход, вероятно, будет работать в IE, но я не могу проверить.

0 голосов
/ 29 мая 2011

Один из способов сделать это - назначить всем общим элементам div один и тот же класс и использовать:

$(".myDIVClass").live("click", function() {
  alert("My Div was clicked");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...