ajax klicanje funkcij, ko se iz ajaxa izpise html
9 naročnikov
9 naročnikov
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");
});]()
Noben ni vprašal po verziji jQuery-ja bi se temu reklo.
Verjetno uporabljaš jquery 1.x.x in je tole predvidevam OK.