Задать вопрос
sanek_os9
@sanek_os9
Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux

Как удалить только что добавленное сообщение?

Здравствуйте, у меня реализовано добавление и удаление сообщений через AJAX, после добавления сообщения идет ajax запрос на сервер и результат помещается в некий div, проблем с этим нет, проблема лишь в том что с этого div'а сообщения не удаляются хотя разница в разметке лишь в том что сообщения выводятся

<div class="message">
<a href="#" class="delete-post" data-id="{$post['id']}">
    <span class="glyphicon glyphicon-remove action"></span>
</a>
    <!-- разный html код -->
</div>
а новоприбывшее сообщение
<div id="new-message">
<div class="message">
<a href="#" class="delete-post" data-id="{$post['id']}">
    <span class="glyphicon glyphicon-remove action"></span>
</a>
    <!-- разный html код -->
</div>
</div>
А JS код для удаления вот
<script type="text/javascript">
        $(document).ready(function(){
            $('.delete-post').click(function(){
                var id = $(this).attr('data-id');
                $.post('/posts/' + id + '/delete', {}, function(data){
                    $('#notice').html(data);
                });
                return false;
            });
</script>

На новом сообщении $('.delete-post').click(); не хочет вообще работать
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Оценить Комментировать
Решение пользователя link_irk К ответам на вопрос (2)
@link_irk
Дело в том, что обработчик click навешивается на элементы, уже существующие в DOM. Если вы в DOM динамически добавляете элемент, то обработчик click в нём работать не будет. Используйте делегирование. api.jquery.com/on
Ответ написан