私はenterイベントをトリガーするスクリプトを追加しました。私たちがスクロールすると、動的に別のページが追加されます(これはajax呼び出しです)。しかし、2ページ目のスクリプトからは読み込まれません。ページがスクロールした後にJavascriptが読み込まれない
これはコードです:
<%= form_tag add_comments_statuses_path, :data => {:toggle => "validator"}, :html => {:class=>"form-horizontal row-fluid shift_from", :id => "comments_form_#{status}"}, method: :post, :remote => true do %>
<div class="control-group">
<a href="#" class="cmt-thumb">
<%= image_tag current_user.profile_pic, :style=>"width:40px!important; height:40px;" %>
</a>
<div class="controls cmt-form " style="margin-bottom:10px;">
<%= text_area_tag 'comment', " ", :class => "form-control", :id => "comment-form-#{status}", :placeholder =>"Write a comment...",:data => {:error => "Please Enter Comment"}, required: true %>
<span class="help-block with-errors" id = "error-#{status}"></span>
</div>
</div>
<input type="hidden" value="<%= status %>" name="status_id">
<% end %>
<script>
$(function(){
$("#comment-form-<%= status %>").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
if ($(this).val() != " ")
$(this).closest('form').submit();
}
});
})
</script>
あなたはその言いましたajaxの呼び出しは、ajaxの呼び出しが非同期であることから、その理由は、ajaxの結果が表示されることを意味すると思います.DOMが 'live'ではないことを意味します。$( "#comment-form-<%= status %>").delegate 'keypress' function(イベント){あなたのコード;}); –