0
我不觸發每次一個jQuery事件:jQuery的事件不總是觸發
我的代碼:
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);
});
});
正如你可以在的jsfiddle看到,第一輸入字段更新時,Ajax被觸發,但是:
如果您點擊'Homepage',然後點擊'Generic infos'並重新更新輸入字段沒有觸發Ajax:$(".websiteElement").change
事件不是第二次調用。