如何在加载ajax的内容上运行触发器(“创建”)?

时间:2015-05-27 02:13:32

标签: jquery-mobile

我有一个函数可以在填写表单后刷新页面上的内容。它工作但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 + "&note=" + 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()函数?

1 个答案:

答案 0 :(得分:0)

我显然还在学习基本的jquery。答案在load()的文档中:

           $("#notes .ui-content").load('ajax.pl?action=print_note_ajax&vid=' + vid, function() {
             $('#notes .ui-content').trigger('create');
           });