J'ai un événement Jquery qui ne déclenche pas à chaque fois:événement Jquery est pas toujours déclenché
Mon code:
thisWebsite = websiteInitialization();
function websiteInitialization() {
companyName = "name";
var thisWebsite = new websiteConstructor(companyName);
return thisWebsite;
}
function websiteConstructor(companyName) {
this.companyName=companyName;
}
function ajaxUpdateDB(websiteElement, value) {
return $.post('/echo/html/',{html: "<p>Text echoed back to request</p>",delay: 3}
,function(a){}
,"json"
);
}
function updateDatabase(websiteElement, value) {
var promise = ajaxUpdateDB(websiteElement, value);
promise.complete(function() {
thisWebsite[websiteElement] = value;
});
}
$(document).ready(function() {
$(".websiteElement").change(function() {
updateDatabase($(this).attr('id'), $(this).val());
});
$("#infos").click(function() {
htmlCode = "<input class='websiteElement' id='companyName' type='text' value='"+thisWebsite.companyName+"'>";
$("#panel-content").html(htmlCode);
});
$("#homepage").click(function() {
htmlCode = "homepage";
$("#panel-content").html(htmlCode);
});
});
Comme vous pouvez le voir dans le jsFiddle, le premier temps que le champ de saisie est mis à jour, l'Ajax est déclenché, mais:
si vous cliquez sur 'Homepage', puis cliquez sur 'Generic infos' et mettez à nouveau à jour le champ de saisie temps l'Ajax n'est pas déclenché: $(".websiteElement").change
l'événement n'est pas appelé la deuxième fois.