вызывать функцию при появлении div (jQuery)? - PullRequest
2 голосов
/ 24 февраля 2012

Интересно, можно ли написать функцию, которая вызывает, когда элемент создается (или виден)?

Например: 1. Когда вы нажимаете кнопку, создается div с id «area» сDOM.2. Когда div с идентификатором «area» существует, запустите функцию «areaFunction».

Я пробовал приведенный ниже код, который не работает.

var App = {

    init: function () {
        if ($("#area") == true) {
            areaFunction();
        });
    },
}

window.onload = Capsule.init;

Ответы [ 3 ]

4 голосов
/ 24 февраля 2012

попробуй:

if($('#area').length > 0){
    areaFunction();
});
1 голос
/ 24 февраля 2012

если вы напишите функцию для создания самоделения, вы можете сделать что-то вроде следующего:

<!DOCTYPE html>
<html>
    <head>
        <script>
            var p = {
                createDivBtnOnclick: function() {
                var div = document.createElement("div");
                    div.innerHTML = "it's a div";
                    document.body.appendChild(div);
                areaFuntion();
                }
            };
            function areaFuntion() {
                alert("function areaFuntion() called");
            }
        </script>
    </head>
    <body>
        <input type="button" value="Create Div" onclick="p.createDivBtnOnclick()"/>
    </body>
</html>

если нет, вы можете работать с таймером, чтобы проверить, существует ли div. Вы можете проверить следующим образом:

if(document.getElementById("divId") != null) { areaFunction() }
0 голосов
/ 24 февраля 2012

попробуйте удалить ==true, используйте if($("area").length > 0)

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