ajax klicanje funkcij, ko se iz ajaxa izpise html

Pozdravljeni.

Imam težavo. Spletna stran ima ene vrste sporočila, ko klikneš na sporočilo se z ajaxom generira HTML, ki se izpiše pod to sporočilo, se pravi komentarje.

Komentarji imajo AJAX klice, vendar se ne izvedejo, ker ta HTML generirana z ajaxom ni bila naložena na začetku strani.

Zanima me, kako se refresha browser - na pamet sem rekel, da ta zazna ajax klice v teh zgeneriranih HTML komentarjih?

24 odgovorov

verjetno je problem ker imaš script v headu in ko se naloži in hoče poiskat button ga ni. Zato moreš ali dati script file pred </body>, kar naj bi bil načeloma dost best pratice. Ali pa kodo z on("click"....) dati takole:

(function( $ ) {
  $(function() {
    $(".ajax_wall_archive_confirm").on("click", function()
    {
        alert("OK");
    });

  });
})(jQuery);

oziroma: http://api.jquery.com/ready/

spodaj je koda. ko kliknem ajaxwallarchive dobi button z imenom confirmbutton nov class in sicer ajaxwallarchiveconfirm, ki ob nalaganju strani še ni bil v html kodi.

ko jquery doda ta class, bi rad poklical $(".ajaxwallarchive_confirm").on("click", function().

JS:

$(".ajax_wall_archive").click(function() {
    $ID         = $(this).attr("ID");               
    $rel        = $(this).attr("rel");      
    $this = $(this);


    $('#modal_blank').find('h4').html('Arhiviranje zapisa');
    $('#modal_blank').find('.modal-body').html('Ali ste prepričani, da želite arhivirati <strong><u>' + $rel + '</u></strong>?');
    $('button[').attr('class','btn btn-success ajax_wall_archive_confirm');
    $('#modal_blank').modal('show');
});

$(".ajax_wall_archive_confirm").on("click", function()
{
    alert("OK");
});]()

$(".ajaxwallarchive_confirm").live('click',function()

tole mi deluje. ali je to ustrezna rešitev?

Noben ni vprašal po verziji jQuery-ja bi se temu reklo.

Verjetno uporabljaš jquery 1.x.x in je tole predvidevam OK.

1