我剛剛創建了一個基本的Web聊天應用程序,問題是每當用戶發送消息時頁面會自動滾動。 當我發送消息時頁面不會刷新,因此它不應向上滾動。任何想法如何解決這個問題?聊天的Web應用程序與Rails - 頁面自動滾動發送消息時
部分_new_message.html.erb
<% if signed_in? %>
<%= form_for([@room, @room.messages.build], remote: true) do |f| %>
<div class="row">
<div class="message-area col-xs-10 col-sm-10 col-md-11">
<%= f.text_area :body, class: 'form-control', placeholder:'Type your message..', id:'exampleTextarea', rows:'2' %>
</div>
<span>
<%= button_tag "", type: 'submit', class: "btn btn-default glyphicon glyphicon-send send-message col-xs-2 col-sm-2 col-md-1" %>
<!-- <%= f.submit "Submit", class:'btn btn-primary send-message col-md-1' %> -->
</span>
</div>
<% end %>
<% end %>
部分_message.html.erb
<div class="message-append">
<% @messages.each do |message| %>
<div class="message-wrap"><%= message.user.user_name %>: <%= message.body %>
<% if signed_in? && current_user.admin? %>
<%= link_to ('<span class="glyphicon glyphicon-remove"></span>').html_safe, room_message_path(message.room, message), method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
</div>
<div class="message-divider"></div>
<% end %>
</div>
的Javascript
received: function(data) {
// Called when there's incoming data on the websocket for this channel
$('.message-append').append(data.message);
},
listen_to_messages: function() {
return this.perform('listen', {
room_id: $("[data-room-id]").data("room-id")
});
}
});
$(document).on('turbolinks:load', function() {
App.room.listen_to_messages();
});