Метод on не работает на добавленные в DOM элементы?

После добавления , на нем нажимаю и нечего не происходит, хотя написано, что on заменяет live ? И работает с добавленными в DOM элементами

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        $(document).ready(function(){

            $("p").on("click", function(){
                $(this).after("<p>Another paragraph!</p>");
            });
        });
    </script>
    <style>
        p { background:yellow; font-weight:bold; cursor:pointer;
            padding:5px; }
        p.over { background: #ccc; }
        span { color:red; }
    </style>
</head>
<body>
<p>Click me!</p>
</body>
</html>
  • Вопрос задан
  • 3765 просмотров
Решения вопроса 1
@genbit
$("p").on("click"... тоже самое что $("p").bind
надо написать так:
$("body").on("click", "p", function(){

таким образом обработчик событий будет на элементе body, когда ты кликаешь на p, событие в итоге проходит вверх по DOM дереву, доходит до body и срабатывает селектор "p".
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы