次の機能を持つアプリを作成していますが、これはコントローラーへの AJAX 呼び出しで行われます。その呼び出しの後、表示したいボタンをレンダリングする js.erb を使用してクリックされたボタンの反対側のボタンをレンダリングします。ただし、ボタンにホバー機能があり、このボタンをクリックするとホバーが機能しなくなります。ボタンの正しいクラスですが、ボタンの状態を変更するために使用する jQuery が機能しません。
ここにいくつかのコード、私のjQueryがあります:
unfollow_button = $(".unfollow-button");
unfollow_button.hover(
function(){
$(this).addClass("btn-danger");
$(this).text("Unfollow");
},
function () {
$(this).removeClass("btn-danger");
$(this).text("Following");
}
);
これは私の見解です:
<% if current_user.following?(f) %>
<%= link_to "Following", user_unfollow_teacher_path(f), :class => "btn unfollow-button", :remote => true %>
<% else %>
<%= link_to "Follow", user_follow_teacher_path(f), :class => "btn btn-primary purple-button", :remote => true %>
<% end %>
そして、これは私が使用する js.erb ファイルです。
$("#follow_form").html("<%= escape_javascript(render('users/follow')) %>")
そして、これはレンダリングされるパーシャルです:
<%= link_to "Following", user_unfollow_teacher_path(@user), :class => "unfollow-button btn", :remote => true %>
フォロー解除をクリックするとjQueryが正常に機能し、再度フォローしてボタンをフォロー解除ボタンに設定すると、ホバーアクションが機能しなくなります。
どんな助けでも感謝します。