Após injetar html por jquery, os manipuladores de eventos não funcionam com / sem delegado

Tenho uma lista de<div> s com o mesmo html, mas com valores diferentes dentro do html. A hierarquia é a seguinte;

<div id="element">
    <div class="likecomm">
        <a class="commenticon" href="#">...some value according to the returning value...</a>
    </div>
</div>

<div id="element">
    <div class="likecomm">
        <a class="commenticon" href="#">...some value according to the returning value...</a>
    </div>
</div>

Em um evento, injeto html no topo da lista, que é outro<div id="element> ... </div>

Tenho o seguinte manipulador de eventos para clicar no ícone de comentário;

$('.commenticon').click(function(){
    $(this).closest('.actionframe').next('nav').slideToggle(300);
    return false;
});

Funciona correto até inserir o novo<div id="element> ... </div>. O ícone de comentário, clique em manipulador de eventos, não corresponde. Eu pesquisei sobre esse problema, todos estavam dizendo que.delegate() deve ser usado

Meu problema é que não sei onde usar a função delegar. Antes, eu recebia os resultados do ajax para injetar o<div id="element> ... </div> , Eu usei.delegate()unção @ na chamada ajax que injeta htm

$.ajax({

    success:function(data) {

        var html=... // the necessary div html binded with data
        // prepend function call()

        $('.likecomm').delegate(".commenticon","click" , function() {                      
                       $(this).closest('.actionframe').next('nav').slideToggle(300);
                       return false;
        }); 

    }        
});

Atualmente, não funciona. Então, alguma idéia de como fazer isso funcionar?

questionAnswers(4)

yourAnswerToTheQuestion