2012-02-06 99 views
0

這是我的「測試」頁面上的JavaScript代碼。

$('#link_share_input').keyup(function() { 
    var link_share_input = $(this).val(); 
    if (link_share_input != '') { 
     $.post('http://' + window.location.hostname + '/assets/scripts/ajax_dashboard_dynamic_preview.php', { 
      preview_type: 'link', 
      link_share_input: link_share_input 
     }, function (data) { 
      if (data !== "") { 
       $('.link_preview_span').show(); 
       $('.link_attachment_preview').html('<div class = "center" style = "padding: 10px 0"><img src = "http://www.assets.buddyweb.me/style_images/loading.gif"></div>'); 
       $('.link_attachment_preview').html(data); 
      } else { 
       $('.link_preview_span').hide(); 
      } 
     }) 
    } 
}) 


$('#video_url_input').keyup(function() { 
    var video_url_input = $(this).val(); 
    if (video_url_input != '') { 
     $.post('http://' + window.location.hostname + '/assets/scripts/ajax_dashboard_dynamic_preview.php', { 
      preview_type: 'video', 
      video_url_input: video_url_input 
     }, function (data) { 
      if (data !== "") { 
       $('.link_preview_span').show(); 
       $('.link_attachment_preview').html('<div class = "center" style = "padding: 10px 0"><img src = "http://www.assets.buddyweb.me/style_images/loading.gif"></div>'); 
       $('.link_attachment_preview').html(data); 
      } else { 
       $('.link_preview_span').hide(); 
      } 
     }) 
    } 
}) 

#link_share_input#video_url_input div的來自一個文件,該文件是$.post版到頁面上。除非我把上面的JavaScript放到頁面上,否則它會起作用的$.post

我怎樣才能讓這個JavaScript處理從文件到「測試」文件的數據$.post

回答

1

變化$('#link_share_input').keyup到..

$(document).on('keyup', '#link_share_input', function(e) { ... });

這基本上滴在文檔事件偵聽器,並且每當keyup事件被觸發,目標一致#link_share_input它就會解僱你的事件回調。因爲你正在修改$ .post以上的HTML,所以它的工作原理與你所期望的完全相同。

快速提示:這需要jQuery 1.7及以上版本。對於舊版本的jQuery,還有其他等效方法.delegate.live