我有一个函数可以在填写表单后刷新页面上的内容。它工作但jquery移动元素没有格式化。调用trigger()不起作用,因为显然在元素出现在页面上之前调用它。这是代码:
function add_note() {
var vid = $("#basic_note_vid_hidden").val();
note = $("#basic_note_textarea").val().replace(/(\r\n|\n|\r)/gm,"<br />");
$.ajax({
async: true,
type: "POST",
url: "ajax.pl",
data: "action=add_note&vid=" + vid + "¬e=" + note,
error: function(res) {
$.growl({title:"Update failed!", style: "error",message:"Are you connected to the Internet?", static:true, size: 'medium' })
},
success: function(res) {
$.growl({title:"Update successful", message:"Note added", duration:500, size: 'small' });
$("#basic_note_close_button").click();
$("#basic_note_textarea").val('');
$("#notes .ui-content").load('ajax.pl?action=print_note_ajax&vid=' + vid).parent().trigger('create');
},
});
}
问题的关键是最后一行代码。有没有办法检测新内容何时加载到页面中,以便我知道何时可以调用trigger()函数?
答案 0 :(得分:0)
我显然还在学习基本的jquery。答案在load()的文档中:
$("#notes .ui-content").load('ajax.pl?action=print_note_ajax&vid=' + vid, function() {
$('#notes .ui-content').trigger('create');
});