метод jQuery .on() не видит новые элементы

Я получаю элемент JSON и строю список из его элементов следующим образом:

getTitles: function(data) {
    data = data || {};
    var list = [];

    $.getJSON(
        '/titles',
        data,
        function(data) {
            $.each(data.data, function(key, val) {
                list.push(
                    '<li><a href="'+ val.href +'">'+ val.title +'</a><span class="count">'+ val.count +'</span></li>'
                )
            });

            $('#title-items').html(list.join(''));
        }
    );
}

И я привязываю событие click для элементов a следующим образом:

$('a').on('click', function(e) {
    alert('clicked');
    e.preventDefault();
});

Старые элементы a показывают alert, а новые следуют URL. Обработчик события не работает для новых. Как я могу это решить?

46
задан Brian Tompsett - 汤莱恩 25 July 2019 в 14:45
поделиться