我将一个json对象存储在HTML5 localStorage中,该对象用于生成许多不同的表单字段。
$(document).on('click','.checklistObject', function(){
var allChecklists = JSON.parse(localStorage.checklists);
var element_id = this.id;
$.each(allChecklists,function(key,val){
if (val.id == element_id) {
displayChecklist(val, undefined);
}
});
});
首先点击与上面对应的无序列表,我在控制台中出现此错误:
Uncaught TypeError: Cannot read property 'jQuery110102358926620800048' of undefined
然而,在第二次点击时,它可以正常工作,并且所有内容都会正常激活这个错误据说可以在jquery.js中找到,在这里看到完全回溯" http://pastebin.com/RR9D6myx",但是在我的代码中引用了一行,这一行:
$('#content-body').trigger('create');
将jQuery Mobile CSS样式应用于动态加载的内容。指向jQuery Mobile的另一件事是,如果我在没有jQmobile样式的情况下加载原始无序,则此错误不会出现。
编辑:下面是displayChecklist函数:
function displayChecklist(checklistJson, previousSubmission){
var createForm = $("#myform").dform(checklistJson);
createForm.promise().done(function(){
$('#content-body').trigger('create'); //apply jquery mobile styling
$.mobile.navigate("#formpage"); //go to form page
if (previousSubmission == undefined) {
//console.log("previousSubmission is undefined!");
} else {
repopulateForm(previousSubmission);
}
});
};